【问题标题】:Consistency guarantee of file system regarding sequential write文件系统顺序写入的一致性保证
【发布时间】:2015-05-08 19:20:33
【问题描述】:

我的程序(只有 1 个进程和 1 个线程)使用普通的旧写入系统调用将 n 个连续的数据块顺序写入 HDD(常规类型的 HDD)上的文件。这就像某种只附加的日志文件。

在系统崩溃(电源故障,而不是 HDD 故障)后,我回读并验证 chunks[i] (0

在 chunks[i] 完全写下之前假设所有其他块是否安全?还是存在一个(或许多)块[j](0

【问题讨论】:

    标签: io language-agnostic consistency os-agnostic


    【解决方案1】:

    是的,可以在写入磁盘之前重新排序(对您而言)显示为顺序的写入,主要是因为您的代码(甚至操作系统)看到的顺序可能与磁盘上的位置不直接对应。

    虽然 IDE 磁盘确实(曾经)使用基于指定磁道、磁头和扇区来保存数据的寻址,但它们早已转换为只有一定数量扇区的系统,并且由磁盘以合理的顺序排列它们。它通常做得很好,但在某些情况下(特别是如果一个扇区已损坏并被备用扇区替换),乱序写入扇区可能是最有意义的。

    【讨论】:

      猜你喜欢
      • 2021-12-16
      • 1970-01-01
      • 1970-01-01
      • 2016-12-28
      • 2021-11-26
      • 2015-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多