我的程序(只有 1 个进程和 1 个线程)使用普通的旧写入系统调用将 n 个连续的数据块顺序写入 HDD(常规类型的 HDD)上的文件。这就像某种仅附加的日志文件。
在系统崩溃(电源故障,而不是 HDD 故障)后,我回读并验证 chunks[i] (0 < i < n) 已完全写入磁盘(通过检查长度)。可能是块的内容校验和不正确,但整个块[i]仍然稳定地位于磁盘表面。
在 chunks[i] 完全写下之前假设所有其他块对我来说是否安全?还是存在一个(或许多)块[j](0 < j < i)部分(或根本不)写入磁盘?我知道随机写入可以重新排序以提高磁盘吞吐量,但顺序写入也可以重新排序吗?