当前位置:  技术问答>linux和unix

如何确定数据已经被写到磁盘上(不是被缓存)?

    来源: 互联网  发布时间:2016-04-16

    本文导语:  采用缓冲技术时,内核会把要写入磁盘的数据放在缓冲区中,然后在它认为合适的时候写入磁盘,怎样才能确定数据已经被写到磁盘上了呢?谢谢大家。 | 从实现机制来说,一般都会有有dirty...

采用缓冲技术时,内核会把要写入磁盘的数据放在缓冲区中,然后在它认为合适的时候写入磁盘,怎样才能确定数据已经被写到磁盘上了呢?谢谢大家。

|
从实现机制来说,一般都会有有dirty标志或者类似的标志。凡是缓存中的数据和对应的存储介质上的数据不一致,那么就会dirty标志会置为1,当数据被写到存储介质后,dirty标志会被清0.这个你去读Linux的源码可以看到。检查缓存链上各个单元的dirty标志可以找到你要的答案。

|
好像有些函数并不是 异步的,比如write()
如果突然断电,会有内容写不进去的。

|
兄弟,你这样,当你打算写进去的时候就写syns这是确保把内存写到硬盘上的。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux下,怎么确定动态库的绝对位置(动态库里面确定)?
  • 如何在Shell中确定一个驱动是否已在Linux/Unix上安装?
  • 确定是否安装IIS服务的方法
  • 如何确定点击的是BACKSPACE键
  • 如何实现子进程根据父进程的信号来确定是否终止子进程???
  • 无法确定主机IP地址时产生。
  • 如何用socket一次传输多个文件,如何确定文件一个文件结束
  • 怎么确定LINUX GATEWAY用的是什么防火墙????怎么找到配置文件???
  • touch: cannot touch '/var/lock/subsys/sshd' : 只读文件系统[确定]
  • GtkClist 按一次确定键,为什么调用了两次按键回调函数?
  • 如何确定redhat9的某个软件包是否安装?
  • 确定文件名长度
  • 如何分析网页以确定见面中含有恶意代码?
  • 怎么确定设备文件?
  • 怎样确定文件路径???
  • 如何确定信号的来源?即如何知道接收到的信号来自于哪一个进程号?
  • 有个模式对话框,如何象VC那样向其发送一个消息,就可模拟用户单击了“确定”按钮
  • daemon进程运行一段不确定时间后自动退出,何解?
  • socket编程,我如何确定与对方的连接是否正常?
  • 先确定进程是否存在,如在,杀死。怎样实现,谢谢(100分)?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3