Io 顺序写入文件系统的一致性保证

Io 顺序写入文件系统的一致性保证,io,language-agnostic,consistency,os-agnostic,Io,Language Agnostic,Consistency,Os Agnostic,我的程序(只有1个进程和1个线程)使用普通的旧写入系统调用,将n个连续的数据块顺序写入HDD(常规类型的HDD)上的文件。这就像某种只附加日志文件 在系统崩溃(电源故障,而不是硬盘故障)后,我读回并验证块[I](0

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

在系统崩溃(电源故障,而不是硬盘故障)后,我读回并验证块[I](0
在块[i]被完全写下来之前,我假设所有其他块是安全的吗?或者存在一个(或多个)块[j](0是的,在写入磁盘之前(对您而言)可以对顺序写入进行重新排序,这主要是因为代码(甚至操作系统)看到的顺序可能与磁盘上的位置不直接对应

虽然IDE磁盘(曾经)使用基于指定存储一段数据的磁道、磁头和扇区的寻址,但它们早已转换为一个只有一定数量扇区的系统,并且由磁盘按照合理的顺序排列这些扇区。它通常做得很好,但在某些情况下(特别是当一个扇区坏了并被一个备用扇区取代时),将扇区按顺序写入可能最有意义