Plan 9 的哪些方面进入了 Unix?

Jus*_*ier 31 unix history plan9

Plan 9是由贝尔实验室作为 Unix 的继承者开发的。虽然由于各种原因它从未完全实现,但相当数量的开发仍然进入了计划 9。

我的问题是,Plan 9 中的什么(如果有的话)已经进入现代 Unix?

Jör*_*tag 20

显而易见的可能是UTF-8。但这可能明显了。

Al Viro 对 Linux VFS 的大规模重新架构深受 Plan9 的启发。尤其是从“一切都是一个文件”到“……每个文件都是一个挂载点”的转变。

  • 您能否简要解释一下(或向我指出解释的资源)“......并且每个文件都是一个安装点”是什么意思? (4认同)
  • @先生。Shickadance:传统上,您只能挂载文件系统,并且只能将它们挂载在目录上。在 Linux 上,您还可以在目录上挂载目录,在文件上挂载文件。因此,从某种意义上说,每个目录和每个文件都是一个文件系统,每个文件(不仅仅是每个目录)都是一个挂载点。示例:`cd /tmp; 回声 a > a; 回声 b > b; 须藤挂载 --bind ab; 猫 b # => a` (4认同)

Bru*_*ger 19

据说clonelinux 中的(2) 系统调用是以 Plan 9 的. (我个人不明白时间是如何安排的。)rfork()

这篇论文声称 Plan 9 启发了“挂载/文件系统命名空间”。

/proc文件系统似乎从第8版的Unix,而不是周围的其他方式已经走到了计划9。


Law*_*ceC 10

Linux 中的 /proc 文件系统是 Plan 9 的想法。


Mik*_*kel 8

联合文件系统,例如unionfsaufs,受到 Plan9 union directory mounts 的启发。

例如,它们用于 Live CD,将/usr/binCD 与可写文件系统合并,以便您可以对 进行更改/usr/bin,即使 CD 是只读的。

联合文件系统:lwn.net 上的实现,第一部分

例如,如果我正确理解文档,则在 Plan9 上,您可以执行以下操作:

bind -b /usr/bin /bin
bind -b /usr/local/bin /bin
bind -b /home/username/bin /bin
Run Code Online (Sandbox Code Playgroud)

并且所有三个目录中的所有文件都将出现在/bin(如果有重复名称,由于该-b选项,最后指定的目录中的文件将获胜)。

我不确定这是否是 Bruce 所说的“挂载/文件系统命名空间”的意思,还是有所不同。


您也可以说sshfs 的灵感来自 Plan9 的ftpfs