План 9 був розроблений Bell Labs як наступник Unix. Хоча з різних причин він ніколи не реалізувався як такий, достатня кількість розробок все ж перейшла у План 9.
Моє запитання, що - якщо що - з Плану 9 пробилося в сучасний Unix?
План 9 був розроблений Bell Labs як наступник Unix. Хоча з різних причин він ніколи не реалізувався як такий, достатня кількість розробок все ж перейшла у План 9.
Моє запитання, що - якщо що - з Плану 9 пробилося в сучасний Unix?
Відповіді:
clone
(2) системний виклик в Linux як кажуть , були змодельовані після Plan 9 rfork()
. (Я особисто не бачу, як працює час.)
У цьому документі стверджується, що План 9 надихнув "простір імен файлів / файлових систем".
/proc
Файлова система , схоже, прийшли до Plan 9 від 8 - го видання Unix, а не навпаки.
Очевидним є, мабуть, UTF-8. Але це, мабуть, занадто очевидно.
Грандіозна реінструкція Аль-Віро на Linux VFS натхненна планом 9. Особливо перехід від "Все є файлом" на "... І кожен файл є точкою вершини".
cd /tmp; echo a > a; echo b > b; sudo mount --bind a b; cat b # => a
Файлова система / proc в Linux - це ідея плану 9.
Файлові системи об'єднань, такі як 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 .
У Плані 9 кожна "файлова система" реалізована демоном простору користувачів. (Подумайте FUSE.) Усі демони говорять 9P (конкретно 9P2000, друга редакція протоколу). 9P - це по суті те, що поєднує різні частини системи разом.
Проект v9fs реалізує драйвер ядра Linux для протоколу 9P. Згідно з вікі-сторінкою Plan 9 на ній , воно знаходиться в основному ядрі станом на ядро 2.6.14.