Які аспекти плану 9 пробилися в Unix?


28

План 9 був розроблений Bell Labs як наступник Unix. Хоча з різних причин він ніколи не реалізувався як такий, достатня кількість розробок все ж перейшла у План 9.

Моє запитання, що - якщо що - з Плану 9 пробилося в сучасний Unix?



1
з паперу: "Найнебезпечніший ворог кращого рішення - це наявна база даних, яка достатньо хороша".
rahmu

Відповіді:


18

clone(2) системний виклик в Linux як кажуть , були змодельовані після Plan 9 rfork(). (Я особисто не бачу, як працює час.)

У цьому документі стверджується, що План 9 надихнув "простір імен файлів / файлових систем".

/procФайлова система , схоже, прийшли до Plan 9 від 8 - го видання Unix, а не навпаки.


Здається, що все більше і більше штук продовжують надходити, але їх недостатньо для портування нативних програм 9 із 100% оригінальним функціоналом.
Джо

17

Очевидним є, мабуть, UTF-8. Але це, мабуть, занадто очевидно.

Грандіозна реінструкція Аль-Віро на Linux VFS натхненна планом 9. Особливо перехід від "Все є файлом" на "... І кожен файл є точкою вершини".


4
Чи можете ви коротко пояснити (або вказати мені на ресурс, який пояснює), що означає "... і кожен файл - це точка монтування"?
Містер Шикаданс

3
@Містер. Шикаданс: Традиційно ви можете монтувати лише файлові системи, і ви можете монтувати їх лише в каталогах. В Linux ви також можете монтувати каталоги на каталоги та файли на файли. Отже, в певному сенсі кожен каталог і кожен файл - це файлова система, і кожен файл (і не лише кожен каталог) є точкою моменту. Приклад:cd /tmp; echo a > a; echo b > b; sudo mount --bind a b; cat b # => a
Йорг W Міттаг


8

Файлові системи об'єднань, такі як unionfs та aufs , були натхнені кріпленнями каталогу директорій Plan9 .

Наприклад, вони використовуються на живих компакт-дисках для злиття /usr/binз компакт-диска з файловою системою, що записується, щоб ви могли вносити зміни /usr/bin, навіть якщо компакт-диск є лише для читання.

Файлові системи союзу: Впровадження, частина I на lwn.net

Наприклад, якщо я правильно зрозумів документи, на Plan9 ви можете зробити:

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

І всі файли у всіх трьох каталогах відображатимуться /bin(у випадку дублюючих імен, виграє той, що знаходиться в останньому вказаному каталозі, завдяки -bопції).

Я не впевнений, чи означає це Брюс під назвою "mount / file namespace", чи це щось інше.


Напевно, ви також можете сказати, що sshfs був натхненний ftpfs Plan9 .


3

У Плані 9 кожна "файлова система" реалізована демоном простору користувачів. (Подумайте FUSE.) Усі демони говорять 9P (конкретно 9P2000, друга редакція протоколу). 9P - це по суті те, що поєднує різні частини системи разом.

Проект v9fs реалізує драйвер ядра Linux для протоколу 9P. Згідно з вікі-сторінкою Plan 9 на ній , воно знаходиться в основному ядрі станом на ядро ​​2.6.14.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.