PCEVA,PC绝对领域,探寻真正的电脑知识
开启左侧

一个硬盘缓存相关的问题

[复制链接]
tigerssj 发表于 2019-10-8 11:59 | 显示全部楼层 |阅读模式
点击数:4239|回复数:7
最近遇到了一个情况:
在win7和win10上,我有一个用程序把一些内容通过程序写入到硬盘的文件中,写入完成之后,我即刻手动打开(双击)文件来看,内容是存在的也是对的,过了5秒之后,我断电,再次重启电脑,会发现里面的内容全部变成了00(空的),,就是这样。但是如果我换成xp系统,就不会出现这个问题,请问各位大佬问题出在哪里?是硬盘的问题? 硬盘缓存的问题?

zhangboyang 发表于 2019-10-8 14:56 | 显示全部楼层
Windows Server 2019会自动调用内存缓冲,比方说固态往机械盘里拷1G文件,先写到内存里,再写入机械盘
guangyunjian 发表于 2019-10-8 21:15 | 显示全部楼层
描述不清楚,判断不了,排除法继续试
string 发表于 2019-10-9 13:34 | 显示全部楼层
个人猜测:操作系统缓存的缘故,数据实际还在电脑内存里,没写完之前断电,文件系统回滚操作,避免数据完整性问题。
尊称 发表于 2019-10-9 15:00 | 显示全部楼层
你这个断电是指什么?直接把电断了?如果这么干,那赖你,别的啥也不赖。
实时系统验证可靠性都是物理读取并校验之,然后才确认写入正确。
印第安纳琼斯 发表于 2019-10-10 00:16 | 显示全部楼层
电脑做错了什么,为什么要给它断电?
尊称 发表于 2019-10-10 07:52 | 显示全部楼层
印第安纳琼斯 发表于 2019-10-10 00:16
电脑做错了什么,为什么要给它断电?

所以说他没说清楚,如果在玩儿嵌入系统,那是另一码子事儿了。
tigerssj  楼主| 发表于 2019-11-23 11:10 | 显示全部楼层
已经确定过是系统问题了,在win7和win10上有缓存导致的,在程序上即使用关闭了写入的文件流,硬盘上还是没有的,需要调用一个强制刷新到硬盘的程序接口才能立即写到硬盘上,但是很慢。实际测试过了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部