Plan 9 wurde von Bell Labs als Nachfolger von Unix entwickelt. Obwohl es aus verschiedenen Gründen nie ganz als solches zustande kam, steckte noch einiges an Entwicklung in Plan 9.
Meine Frage ist, was - wenn überhaupt - aus Plan 9 in das moderne Unix Einzug gehalten hat.
Antworten:
Der
clone
(2) Systemaufruf in Linux soll nach Plan 9 modelliert worden seinrfork()
. (Ich persönlich sehe nicht, wie das Timing funktioniert.)In diesem Artikel wird behauptet, dass Plan 9 den "Mount / Dateisystem-Namespace" inspiriert hat.
Das
/proc
Dateisystem scheint von der 8. Edition von Unix zu Plan 9 gekommen zu sein, und nicht umgekehrt.quelle
Das offensichtliche ist wahrscheinlich UTF-8. Aber das ist wahrscheinlich zu offensichtlich.
Al Viros großartige Neuarchitektur des Linux-VFS ist stark von Plan9 inspiriert. Besonders die Verlagerung von "Alles ist eine Datei" zu "... und jede Datei ist ein Einhängepunkt".
quelle
cd /tmp; echo a > a; echo b > b; sudo mount --bind a b; cat b # => a
Das / proc-Dateisystem unter Linux ist eine Plan 9-Idee.
quelle
Union-Dateisysteme wie unionfs und aufs wurden von Plan9- Union-Directory-Mounts inspiriert .
Beispielsweise werden sie auf Live-CDs verwendet, um
/usr/bin
die CD mit einem beschreibbaren Dateisystem zusammenzuführen, sodass Sie Änderungen vornehmen können/usr/bin
, auch wenn die CD schreibgeschützt ist.Union-Dateisysteme: Implementierungen, Teil I auf lwn.net
Wenn ich beispielsweise die Dokumente in Plan9 richtig verstehe, können Sie Folgendes tun:
Alle Dateien in allen drei Verzeichnissen werden in angezeigt
/bin
(bei doppelten Namen gewinnt der im zuletzt angegebenen Verzeichnis aufgrund der-b
Option).Ich bin mir nicht sicher, ob Bruce das mit "Mount / Dateisystem-Namespace" meint oder etwas anderes ist.
Man könnte wahrscheinlich auch sagen, dass sshfs von Plan9s ftpfs inspiriert wurde .
quelle
In Plan 9 wird jedes "Dateisystem" von einem Userspace-Daemon implementiert. (Denken Sie an FUSE.) Diese Daemons sprechen alle 9P (insbesondere 9P2000, die zweite Version des Protokolls). 9P ist im Wesentlichen das, was die verschiedenen Teile des Systems zusammenhält.
Das v9fs- Projekt implementiert einen Linux- Kerneltreiber für das 9P-Protokoll. Laut der Wiki-Seite von Plan 9 befindet es sich ab Kernel 2.6.14 im Mainline-Kernel.
quelle