程序操作文件直接落盘

默认情况下,Windows缓存从磁盘读取并写入磁盘的文件数据。这意味着读取操作是从系统文件缓存的区域读取文件数据,而不是从物理磁盘读取。相应地,写操作将文件数据写入系统文件缓存而不是磁盘,这种类型的缓存称为写回缓存。缓存是按文件对象管理的。              

缓存在缓存管理器的指导下进行,该管理器在Windows运行时连续运行。系统文件缓存中的文件数据按操作系统确定的间隔写入磁盘,并释放该文件数据以前使用的内存这称为刷新缓存。延迟将数据写入文件并将其保存在缓存中直到缓存刷新的策略称为延迟写入,它由缓存管理器以确定的时间间隔触发。刷新文件数据块的时间部分取决于它存储在缓存中的时间量以及自上次在读取操作中访问数据以来的时间量。这可以确保经常读取的文件数据在系统文件缓存中保持最长时间的可访问性。              

此文件数据缓存过程如下图所示。

操作系统的文件缓存机制,在工控领域中,经常会因为突然的掉电,导致系统数据的丢失。

解决这个问题,有两种方式:

1. 应用程序写文件的之后,不经过系统缓存,直接落盘

    1.1 通过windows的API

HANDLE CreateFileA(
  LPCSTR                lpFileName,
  DWORD                 dwDesiredAccess,
  DWORD                 dwShareMode,
  LPSECURITY_ATTRIBUTES lpSecurityAttributes,
  DWORD                 dwCreationDispos
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值