1

Ritchie 声称,文件锁定不足以防止诸如编辑器之类的程序在编辑时复制文件,然后在完成后写入原始文件所引起的混乱。你能解释一下他的意思吗?

4

1 回答 1

3

他还说锁不是必需的,大多数工程师认为这种说法是不正确的。

这是由 DM Ritchie 和 K. Thompson在贝尔系统技术期刊卷中的 UNIX 分时系统编写的。57,第 6 期(1978 年 7 月至 8 月),第 2 部分,第 1905-1929 页。

注释的上下文提到了根据操作系统的目的进行锁定的需要。这是 Unix v6(也许更早)文件系统提供文件锁定的时代。由于文件系统没有面对大型可更新数据库,锁定是不够的。

这是没有必要的,因为系统内核使用锁管理内部数据结构,并且如果两个写入器同时对同一个文件进行操作,系统会保持“逻辑一致性”。我认为后者主要是指附加到 stdout 或 stderr 的多个进程。

于 2010-01-20T06:31:15.910 回答