Plan 9 został opracowany przez Bell Labs jako następca Uniksa. Chociaż z różnych powodów nigdy się tak nie zmaterializował, znaczna część rozwoju została wprowadzona w planie 9.
Moje pytanie brzmi: co - jeśli w ogóle - z Plan 9 trafiło do współczesnego Uniksa?
Odpowiedzi:
clone
Wywołanie systemowe (2) w Linux powiedział były wzorowane Plan 9-tychrfork()
. (Osobiście nie widzę, jak działa czas.)Artykuł ten twierdzi, że Plan 9 zainspirował „przestrzeń nazw montowania / systemu plików”.
/proc
Plików wydaje się przyjść do Planu 9 z 8th Edition Unix, a nie na odwrót.źródło
Oczywistym jest prawdopodobnie UTF-8. Ale to chyba zbyt oczywiste.
Wielka re-architektura architektury systemu Linux VFS przez Al Viro jest mocno zainspirowana przez Plan9. Zwłaszcza przejście z „Everything Is A File” do „… A Every File Is A Mount Point”.
źródło
cd /tmp; echo a > a; echo b > b; sudo mount --bind a b; cat b # => a
System plików / proc w systemie Linux to pomysł na Plan 9.
źródło
Systemy plików Unii, takie jak unionfs i aufs , zostały zainspirowane montowaniem katalogów unii Plan9 .
Na przykład są one używane na żywych płytach CD do łączenia się
/usr/bin
z płytą CD z zapisywalnym systemem plików, dzięki czemu można wprowadzać zmiany/usr/bin
, nawet jeśli płyta CD jest tylko do odczytu.Systemy plików Unii: Implementacje, część I na lwn.net
Na przykład, jeśli dobrze rozumiem dokumenty, na Plan9 możesz wykonać:
I wszystkie pliki we wszystkich trzech katalogach pojawią się w
/bin
(w przypadku zduplikowanych nazw, wygrywa ten z ostatniego określonego katalogu, z powodu-b
opcji).Nie jestem pewien, czy to właśnie Bruce rozumie przez „przestrzeń nazw montowania / systemu plików”, czy może coś innego.
Prawdopodobnie można również powiedzieć, że sshfs został zainspirowany ftpfs z Plan9 .
źródło
W planie 9 każdy „system plików” jest implementowany przez demona przestrzeni użytkownika. (Pomyśl BEZPIECZNIK.) Wszystkie te demony mówią o 9P (konkretnie 9P2000, druga wersja protokołu). 9P jest zasadniczo tym, co łączy różne części systemu.
Projekt v9fs implementuje sterownik jądra Linux dla protokołu 9P. Według strony wiki Plan 9 na nim znajduje się w jądrze głównym od jądra 2.6.14.
źródło