计划9的哪些方面进入了Unix?


Answers:


18

据说clone Linux中的(2)系统调用是在Plan 9的基础上建模的。(我个人看不出时间安排如何。)rfork()

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

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


似乎有越来越多的作品不断涌现,但不足以移植具有100%原始功能的本地plan9应用程序。

17

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

Al Viro对Linux VFS进行的大规模重新架构受到了Plan9的极大启发。特别是从“一切都是文件”到“…而每个文件都是挂载点”的转变。


4
您能否简要说明(或指向说明这一点的资源)“ ...并且每个文件都是装载点”是什么意思?
Shickadance先生11年

3
@先生。Shickadance:传统上,您只能安装文件系统,并且只能将它们安装在目录上。在Linux上,您还可以在目录上挂载目录,在文件上挂载文件。因此,从某种意义上说,每个目录和每个文件都是一个文件系统,每个文件(而不仅仅是每个目录)都是一个挂载点。例如:cd /tmp; echo a > a; echo b > b; sudo mount --bind a b; cat b # => a
约克W¯¯米塔格


8

联合文件系统(例如unionfsaufs)受Plan9 联合目录安装的启发。

例如,它们在实时CD上用于/usr/bin从CD与可写文件系统合并,因此/usr/bin即使CD是只读的,也可以对其进行更改。

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

例如,如果我对Plan9的理解正确,则可以执行以下操作:

bind -b /usr/bin /bin
bind -b /usr/local/bin /bin
bind -b /home/username/bin /bin

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

我不确定这是Bruce所说的“安装/文件系统名称空间”是什么意思,还是有所不同。


您可能还可以说sshfs受到了Plan9的ftpfs的启发。


3

在计划9中,每个“文件系统”都是由用户空间守护程序实现的。(想想FUSE。)这些守护程序都使用9P(特别是9P2000,协议的第二个版本)。9P本质上就是将系统的不同部分结合在一起的东西。

v9fs工程实施的9P协议的Linux内核驱动程序。根据上面的Plan 9 Wiki页面,它在内核2.6.14起位于主线内核中。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.