代码之家  ›  专栏  ›  技术社区  ›  manav m-n

为什么仅仅在多用户系统中锁定文件还不够?

  •  1
  • manav m-n  · 技术社区  · 15 年前

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

    1 回复  |  直到 15 年前
        1
  •  3
  •   wallyk    15 年前

    他还说锁是不必要的,这是大多数工程师认为不真实的断言。

    这是D.M.里奇和K.汤普森写的, Unix分时系统 在里面 贝尔系统技术杂志 第57卷第6期(1978年7月至8月),第2部分,第1905-1929页。

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

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