Plan 9 von Bell Labs
Entwickler | Plan 9 Foundation, erfolgreich Bell Labs |
---|---|
Geschrieben in | Dialekt von Ansi c |
Arbeitszustand | Aktuell[3][4] |
Quellmodell | Open Source |
Erstveröffentlichung | 1992 (Universitäten) /1995 (allgemeine Öffentlichkeit) |
Endgültige Veröffentlichung | Vierte Ausgabe / 10. Januar 2015[5] |
Repository | 9p |
Marketingziel | Forschung für Betriebssysteme, vernetzte Umgebungen, allgemeine Nutzung |
Verfügbar in | Englisch |
Plattformen | x86 / VX32, x86-64, MIPS, Dec Alpha, Sparc, Powerpc, ARM |
Kernel Typ | Monolithisch[7] |
Beeinflusst von | Forschung Unix, Cambridge verteiltes Computersystem[8] |
Standard Benutzeroberfläche | Rio / rc |
Lizenz | 2021: MIT[9][10] 2014: Nur GPL-2.0[11] 2002: LPL-1.02[12] 2000: Plan 9 OSL[13][14][15][16] |
gefolgt von | Inferno Andere Derivate und Gabeln |
Offizielle Website | p9f |
Plan 9 von Bell Labs ist ein verteiltes Betriebssystem, Ursprung im Computing Science Research Center (CSRC) bei Bell Labs Mitte der 1980er Jahre und aufbauen auf Unix Konzepte entwickelten sich dort Ende der 1960er Jahre erstmals. Seit 2000 ist Plan 9 frei und offen. Die letzte offizielle Veröffentlichung war Anfang 2015.
Unter Plan 9, Unixs Alles ist eine Datei Die Metapher wird über einen durchdringenden netzwerkzentrierten erweitert Dateisystem, und die Cursoradressierter, Terminal-basierend I/o im Herzen von Unix-artig Betriebssysteme werden durch a ersetzt Fenstersystem und grafische Benutzeroberfläche ohne Cursor adressiert, allerdings rc, der Plan 9 Hülse, ist textbasiert.
Der Name Plan 9 von Bell Labs ist ein Hinweis auf die Ed Holz 1957 Kult Science-Fiction Z-movie Plan 9 aus dem Weltraum.[17] Das System wird weiterhin von Operationssystemforschern und Hobbyisten verwendet und entwickelt.[18][19]
Geschichte
Plan 9 von Bell Labs wurde ursprünglich ab Ende der 1980er Jahre entwickelt.[19] von Mitgliedern des Computing Science Research Center in Bell Labs, derselben Gruppe, die sich ursprünglich entwickelt hat Unix und die C Programmiersprache.[20] Das Plan 9 -Team wurde ursprünglich von angeführt Rob Pike, Ken Thompson, Dave Presotto und Phil Winterbottom, mit Unterstützung von Dennis Ritchie als Leiter der Forschungsabteilung für Computertechniken. Im Laufe der Jahre haben viele bemerkenswerte Entwickler zu dem Projekt beigetragen, einschließlich Brian Kernighan, Tom Duff, Doug McIlroy, Bjarne Stroustrup und Bruce Ellis.[21]
Plan 9 ersetzte UNIX als primäre Plattform von Bell Labs für die Forschung von Betriebssystemen. Es untersuchte mehrere Änderungen am ursprünglichen UNIX -Modell, das die Verwendung und Programmierung des Systems erleichtert, insbesondere in verteilten Multi-User Umgebungen. Nach mehreren Jahren der Entwicklung und des internen Gebrauchs versandte Bell Labs das Betriebssystem 1992 an die Universitäten. Drei Jahre später wurde Plan 9 von AT & T über den Buchverlag für kommerzielle Partys zur Verfügung gestellt Harcourt -Klammer. Mit Quellenlizenzen für 350 US -Dollar zielte AT & T eher auf den Markt für eingebettete Systeme als auf den Computermarkt. Ritchie bemerkte, dass die Entwickler nicht erwartet hatten, "viel Verschiebung" zu tun, da etablierte andere Betriebssysteme geworden waren.[22]
Bis Anfang 1996 wurde das Projekt Plan 9 von AT & T zugunsten von "den Hintergrund in den Hintergrund gestellt" Inferno, beabsichtigt, ein Rivale zu sein Sun Microsystems' Java -Plattform.[23] In den späten 1990er Jahren der neue Besitzer von Bell Labs Lucent Technologies Die kommerzielle Unterstützung des Projekts gesenkt und im Jahr 2000 eine dritte Veröffentlichung unter einem verteilt wurde Open-Source-Lizenz. Eine vierte Veröffentlichung unter einem neuen gratis Software Lizenz ereignete sich im Jahr 2002.[24]
Eine Benutzer- und Entwicklungsgemeinschaft, einschließlich aktueller und früherer Bell Labs Personal, produzierte kleinere tägliche Veröffentlichungen in Form von ISO -Bilder. Bell Labs veranstaltete die Entwicklung.[25] Der Entwicklungsquellbaum ist über die zugänglich 9p und Http Protokolle und wird verwendet, um vorhandene Installationen zu aktualisieren.[26] Zusätzlich zu den offiziellen Komponenten des in den ISOs enthaltenen Betriebssystems veranstaltet Bell Labs auch ein Repository von extern entwickelten Anwendungen und Tools.[27]
Wie Bell Labs In den letzten Jahren war die Entwicklung des offiziellen Plan 9 -Systems gestoppt. Am 23. März 2021 wurde die Entwicklung nach dem Copyright -Transfer von wieder aufgenommen Bell Labs zum Plan 9 Foundation.[10][28][29] Die inoffizielle Entwicklung des Systems setzt auch die 9 -FR -Gabel fort, wo aktive Mitwirkende monatliche Builds und neue Funktionen anbieten. Bisher hat die 9 -Front -Gabel das System zur Verfügung gestellt W-lan Fahrer, Audiofahrer, USB Unterstützung und eingebauter Spielemulator sowie andere Funktionen.[30] Weitere kürzlich veröffentlichte 9-in-inspirierte Betriebssysteme sind Harvey OS[31] und Jehanne OS.[32]
Datum | Veröffentlichung | Kommentar |
---|---|---|
1992 | Plan 9 1. Ausgabe | Veröffentlicht von Bell Labs an Universitäten |
1995 | Plan 9 2. Auflage | Veröffentlicht von Bell Labs für nichtkommerzielle Zwecke[33] |
2000 | Plan 9 3. Aufl. (Brasilien)) | Veröffentlicht von Lucent Technologies unter einer Open -Source -Lizenz |
2002 | Plan 9 4th Edition | Veröffentlicht von Lucent Technologies unter einer neuen kostenlosen Softwarelizenz |
Designkonzepte
Plan 9 von Bell Labs ist wie die Quäker: Unterscheidet durch seine Belastung des „inneren Lichts“, das als Einfachheit des Lebens festgestellt wurde, insbesondere für die Klärung der Sprache. Wie die Quäker proseltet Plan 9 nicht.
- SPAPE J. Mullender, Pierre G. Jansen.
Echtzeit in einem echten Betriebssystem[34]
Plan 9 ist a verteiltes Betriebssystem, entwickelt, um ein Netzwerk von zu machen heterogen und geografisch getrennte Computer fungieren als einzelnes System.[35] In einer typischen Installation von Plan 9 arbeiten Benutzer an Terminals, die das Fenstersystem ausführen Riound sie greifen auf CPU-Server zu, die rechenintensive Prozesse verarbeiten. Die permanente Datenspeicherung wird von zusätzlichen Netzwerkhosts bereitgestellt, die als Dateiserver und Archivspeicher fungieren.[36]
Seine Designer sagen, dass,
[t] Die Fundamente des Systems basieren auf zwei Ideen: ein prozessuiger Prozess Namensraum und ein einfaches meldungsorientiertes Dateisystemprotokoll.
-Pike et al.[37]
Die erste Idee (ein Name pro Prozess) bedeutet, dass im Gegensatz zu den meisten Betriebssystemen, im Gegensatz zu den meisten Betriebssystemen, Prozesse (Ausführen von Programmen) Jeweils haben ihre eigene Sicht auf die Namespaceentsprechend dem, was andere Betriebssysteme das Dateisystem nennen; Ein einzelner Pfadname kann sich auf verschiedene Ressourcen für verschiedene Prozesse beziehen. Die potenzielle Komplexität dieses Setups wird durch eine Reihe herkömmlicher Standorte für gemeinsame Ressourcen gesteuert.[38][39]
Die zweite Idee (ein meldungsorientiertes Dateisystem) bedeutet, dass Prozesse ihre Dienste anderen Prozessen anbieten können, indem virtuelle Dateien bereitgestellt werden, die im Namespace des anderen Prozesses angezeigt werden. Das Klient Eingabe/Ausgabe des Prozesses in einer solchen Datei wird Interprozesskommunikation zwischen den beiden Prozessen. Auf diese Weise verallgemeinert Plan 9 den Unix -Begriff der Dateisystem als zentraler Zugriff auf Rechenressourcen. Es überträgt Unix 'Idee von Gerätedateien Um Zugang zu peripheren Geräten zu erhalten (Mäuse, abnehmbare Medien usw.) und die Möglichkeit zu montieren Dateisysteme, die sich in physikalisch unterschiedlichen Dateisystemen in einen hierarchischen Namespace befinden, fügt jedoch die Möglichkeit hinzu, eine Verbindung zu einem Serverprogramm zu montieren, das ein standardisiertes Protokoll spricht und seine Dienste als Teil des Namespace behandelt.
Zum Beispiel hat das ursprüngliche Fenstersystem, das als 8½ bezeichnet wird, diese Möglichkeiten wie folgt ausnutzt. Plan 9 repräsentiert die Benutzeroberfläche eines Terminals mittels drei Pseudo-Dateien: Maus, die von einem Programm gelesen werden können, um die Benachrichtigung über Mausbewegungen und Schaltflächenklicks zu erhalten. Nachteile, mit der verwendet werden kann, um Texteingang/Ausgabe durchzuführen, und Bitblt, Schreiben, an die Grafikoperationen erlassen werden (siehe Bit Blit). Das Fenstersystem multiplexe diese Geräte: Beim Erstellen eines neuen Fensters, um ein Programm in zu programmieren, wird zunächst ein neuer Namespace eingerichtet, in dem Maus, Nachteile und Bitblt sind mit sich selbst verbunden und verstecken die tatsächlichen Gerätedateien, auf die sie selbst zugreifen können. Das Fenstersystem empfängt somit alle Eingangs- und Ausgabebefehle aus dem Programm und verarbeitet diese angemessen, indem er die Ausgabe an das tatsächliche Bildschirmgerät sendet und dem aktuell fokussierten Programm die Tastatur- und Mauseingabe angibt.[36] Das Programm muss nicht wissen, ob es direkt mit den Gerätetreibern des Betriebssystems oder mit dem Fenstersystem kommuniziert. Es muss nur angenommen werden, dass der Namespace so eingerichtet ist, dass diese speziellen Dateien die Art der Eingabe angeben und die Art der erwarteten Nachrichten akzeptieren.
Der verteilte Betrieb von Plan 9 stützt sich auch auf den Namensspitzen pro Prozess, sodass Client- und Serverprozesse über die gerade beschriebene Art und Weise kommunizieren können. Zum Beispiel die Zentralprozessor Der Befehl startet eine Remote -Sitzung auf einem Berechnungsserver. Der Befehl exportiert einen Teil seines lokalen Namespace, einschließlich der Geräte des Terminals des Benutzers (Maus, Nachteile, Bitblt) zum Server, damit Remote -Programme Eingaben/Ausgabe mithilfe der Maus, Tastatur und Anzeige des Terminals durchführen können, wobei die Auswirkungen von kombiniert werden können Fernanmeldung und ein freigegebenes Netzwerkdateisystem.[36][37]
9p -Protokoll
Alle Programme, die anderen Programmen Dienste-As-Dateien anbieten möchten, sprechen ein einheitliches Protokoll namens 9p. Im Vergleich zu anderen Systemen reduziert dies die Anzahl der Benutzeroberflächen Programmierschnittstellen. 9p ist ein generisches, mittel-agnostisch, Byte-orientiert Protokoll, das Nachrichten zwischen einem Server und einem Client bereitstellt.[40] Das Protokoll wird verwendet, um Prozesse, Programme und Daten, einschließlich der Benutzeroberfläche und des Netzwerks, zu verweisen und mit ihnen zu kommunizieren.[41] Mit der Veröffentlichung der 4. Ausgabe wurde sie modifiziert und in 9p2000 umbenannt.[24]
Im Gegensatz zu den meisten anderen Betriebssystemen bietet Plan 9 kein speziell Anwendungsprogrammierschnittstellen (wie zum Beispiel Berkeley Sockets, X Ressourcen oder ioctl Systemaufrufe), um auf Geräte zuzugreifen.[40] Stattdessen implementieren Plan 9 -Gerätefahrer ihre Steuerschnittstelle als Dateisystem, sodass auf die Hardware von der gewöhnlichen Datei zugegriffen werden kann Input-Output Operationen lesen und schreiben. Infolgedessen kann das Teilen des Geräts im Netzwerk erreicht werden, indem der entsprechende Verzeichnisbaum an die Zielmaschine geworfen wird.[17]
Gewerkschaftsverzeichnisse und Namespaces
Plan 9 ermöglicht dem Benutzer, die Dateien zu sammeln (aufgerufen Namen) aus verschiedenen Verzeichnisbäumen an einem einzigen Ort. Das resultierende Union Verzeichnis verhält sich als die Verkettung der zugrunde liegenden Verzeichnisse (die Verkettungsreihenfolge kann kontrolliert werden); Wenn die Verzeichnisse der Konstituierungen Dateien mit demselben Namen enthalten, eine Auflistung des Union -Verzeichnisses (ls oder LC) meldet einfach doppelte Namen.[42] Auflösung eines einzelnen Pfadnamens wird oben nach unten durchgeführt: Wenn die Verzeichnisse oben und Unterseite werden in gearbeitet in u mit oben Zuerst, dann dein Name bezeichnet Top/Name Wenn es existiert, unten/Name Nur wenn es existiert und Top/Name ist nicht vorhandenund keine Datei, wenn es weder existiert. Es wird keine rekursive Vereinigung von Unterverzeichnissen durchgeführt, also wenn Top/Subdir existiert die Dateien in Bottom/Subdir sind nicht über die Gewerkschaft zugänglich.[43]
Ein Gewerkschaftsverzeichnis kann mit der Verwendung des binden Befehl:
; bind /arm /bin /bin; bind -a /acme /bin /arm /bin; Bind -b /usr /alice /bin /bin /bin
Im obigen Beispiel, /Arm/Behälter ist montiert bei /Behälter, Die Inhalte von /Arm/Behälter Ersetzen des vorherigen Inhalts von /Behälter. Gipfel's Behälter Das Verzeichnis wird dann danach gewerkschaftlich montiert /Behälterund Alices persönlich Behälter Das Verzeichnis ist vor Union vorgebreitet. Wenn eine Datei von angefordert wird von /Behälter, es wird zuerst in gesucht in /usr/alice/bin, dann in /Arm/Behälterund dann endlich in /acme/bin/arm.
Die separaten Prozess -Namespaces ersetzen somit normalerweise den Begriff von a Suchpfad in der Hülle. Eine Pfadumgebungsvariable ($path
) existiert immer noch in der rc Schale (die Hülle, die hauptsächlich in Plan 9 verwendet wird); Die Variable der Pfadumgebung von RC enthält jedoch herkömmlicherweise nur die /bin
und .
Verzeichnisse und das Ändern der Variablen werden stattdessen abgehalten, indem zusätzliche Befehle hinzugefügt werden, indem mehrere Verzeichnisse als einzeln zusammengebracht werden /bin
.[44][36] Im Gegensatz zu Plan 9 sollte die Pfadumgebungsvariable von UNIX -Shells so eingestellt werden, dass zusätzliche Verzeichnisse als Befehle hinzugefügt werden müssen.
Darüber hinaus kann der Kernel für jeden Prozess separate Mountstische aufbewahren.[34] und kann so jedem Prozess sein eigenes Dateisystem bereitstellen Namespace. Die Namespaces von Prozessen können unabhängig voneinander konstruiert werden, und der Benutzer kann gleichzeitig mit Programmen mit heterogenen Namespaces arbeiten.[37] Namespaces können verwendet werden, um eine isolierte Umgebung ähnlich wie Chroot, aber auf sichere Weise.[40]
Die Union Directory -Architektur von Plan 9 inspiriert 4.4bs und Linux Gewerkschaftsdateisystem Implementierungen,[42] Obwohl die Entwickler der BSD Union Montage-Einrichtung die nicht rekursive Verschmelzung von Verzeichnissen in Plan 9 feststellten, "für allgemeine Zwecke zu restriktiv".[43]
Speziales virtuelles Dateisystem
/Proc
Anstatt Systemaufrufe speziell für zu haben Prozessmanagement, Plan 9 liefert die /Proc Dateisystem. Jeder Prozess Erscheint als Verzeichnis, das Informationen und Steuerungsdateien enthält, die durch die Aufrufe des normalen Datei -IO -Systems manipuliert werden können.[8]
Mit dem Dateisystemansatz können Plan 9 -Prozesse mit einfachen Dateiverwaltungs -Tools wie z. B. verwaltet werden ls und Katze; Die Prozesse können jedoch nicht als Dateien kopiert und verschoben werden.[8]
/Netz
Plan 9 enthält keine speziellen Systemanrufe oder ioctls Für den Zugriff auf den Networking -Stack oder die Networking -Hardware. Stattdessen die /Netz Dateisystem wird verwendet. Netzwerkverbindungen werden durch Lesen und Schreiben von Steuermeldungen für die Steuerung von Dateien gesteuert. Unterverzeichnisse wie /net/tcp und /net/udp werden als Schnittstelle zu ihren jeweiligen Protokollen verwendet.[8]
Unicode
Um die Komplexität der Verwaltung zu verringern Charaktercodierungen, Plan 9 verwendet Unicode im gesamten System. Die erste Unicode -Implementierung war ISO/IEC 10646-1: 1993. Ken Thompson erfand UTF-8, der zum der wurde einheimisch Codierung in Plan 9. Das gesamte System wurde 1992 in den allgemeinen Gebrauch umgewandelt.[46] UTF-8 bewahrt die Kompatibilität rückwärts mit traditioneller Null-terminierte SaitenErmöglicht eine zuverlässigere Informationsverarbeitung und die Verkettung mehrsprachiger String -Daten mit UNIX Pipes zwischen mehreren Prozessen. Die Verwendung einer einzigen UTF-8-Codierung mit Zeichen für alle Kulturen und Regionen beseitigt die Notwendigkeit, zwischen Codesätzen zu wechseln.[47]
Kombinieren der Designkonzepte
Obwohl für sich selbst interessant, sollten die Designkonzepte von Plan 9 im Zusammenhang am nützlichsten sein. Zum Beispiel um a zu implementieren Netzwerkadressübersetzung (NAT) Server, ein Gewerkschaftsverzeichnis kann erstellt werden, das die überlagert Router's /Netz Verzeichnisbaum mit seinen eigenen /Netz. Ebenso a virtuelles privates Netzwerk (VPN) kann durch Überlagerung in einem Gewerkschaftsverzeichnis a implementiert werden /Netz Hierarchie aus einer Fernbedienung Tormit gesicherten 9p über das öffentliche Internet. Ein Gewerkschaftsverzeichnis mit dem /Netz Hierarchie und Filter können verwendet werden Sandkasten eine nicht vertrauenswürdige Anwendung oder um a zu implementieren Firewall.[40] Auf die gleiche Weise kann ein verteiltes Computernetzwerk mit einem Gewerkschaftsverzeichnis von komponiert werden /Proc Hierarchien von Remote -Hosts, die es ermöglichen, mit ihnen zu interagieren, als wären sie lokal.
Wenn diese Funktionen zusammen verwendet werden, können diese Funktionen eine komplexe verteilte Computerumgebung zusammenstellen, indem das vorhandene hierarchische Namenssystem wiederverwendet.[8]
Software für Plan 9
Als Vorteil des Designs des Systems können die meisten Aufgaben in Plan 9 durch Verwendung erledigt werden ls, Katze, Grep, CP und rm Dienstprogramme in Kombination mit dem RC Shell (Der Standardplan 9 Shell).
Faktotum ist ein Authentifizierung und Schlüsselverwaltung Server für Plan 9. Er behandelt die Authentifizierung im Namen anderer Programme, so dass beide Geheimtasten und Implementierungsdetails müssen factotum nur bekannt sein.[48]
Grafische Programme
nicht wie Unix, Plan 9 wurde mit Blick auf Grafiken entworfen.[41] Nach dem Booten wird ein Plan 9 -Terminal das ausführen Rio Fenstersystem, in dem der Benutzer neue Fenster anzeigen kann rc.[49] Grafische Programme, die aus dieser Shell aufgerufen werden, ersetzen sie in seinem Fenster.
Das Klempner Bietet an Interprozesskommunikation Mechanismus, der eine systemweite Hyperlinkung ermöglicht.
Sam und Gipfel sind die Textredakteure von Plan 9.[50]
Speichersystem
Plan 9 unterstützt KFS, PAQ, CWFS, FETT, und Fossil Dateisysteme. Das letzte wurde in Bell Labs speziell für Plan 9 entworfen und bietet Snapshot -Speicherfunktionen. Es kann direkt mit einer Festplatte verwendet werden oder mit gesichert werden Venti, ein Archivdateisystem und ein dauerhaftes Datenspeichersystem.
Software-Entwicklung
Das Verteilungspaket für Plan 9 enthält spezielle Compiler -Varianten und Programmiersprachen und bietet einen maßgeschneiderten Bibliothekssatz sowie ein Fenster Benutzeroberfläche System spezifisch für Plan 9.[51] Der Großteil des Systems ist in einem Dialekt von C geschrieben (Ansi c mit einigen Erweiterungen und einigen anderen Merkmalen ausgelassen). Die Compiler für diese Sprache wurden individuell aus der Portabilität entwickelt. Laut ihrem Autor "kompilieren sie schnell, laden langsam und produzieren mit mittlerem Qualitätscode".[52]
A Gleichzeitige Programmiersprache genannt ALEF war in den ersten beiden Ausgaben erhältlich, wurde aber aus Wartungsgründen fallen gelassen und durch a ersetzt Fäden Bibliothek für C.[53][54]
Unix -Kompatibilität
Obwohl Plan 9 eine weitere Entwicklung von Unix -Konzepten sein sollte, war die Kompatibilität mit bereits bestehender Unix -Software nie das Ziel für das Projekt. Viele Befehlszeile Dienstprogramme von Plan 9 teilen die Namen von UNIX -Kollegen, funktionieren jedoch anders.[45]
Plan 9 kann unterstützen Posix Anwendungen und können die emulieren Berkeley Socket -Schnittstelle durch die ANSI/POSIX -Umgebung (APE) das implementiert eine Schnittstelle nahe bei Ansi c und Posixmit einigen gemeinsamen Erweiterungen (der native Plan 9 C -Grenzflächen entsprechen keinem Standard). Es enthält auch eine posix-kompatible Hülle. Die Autoren von Ape behaupten, es verwendet zu haben, um die zu portieren X Fenstersystem (X11) Plan 9, obwohl sie nicht x11 versenden ", weil es zu groß ist, es richtig zu unterstützen".[55] Einige Linux -Binärdateien können mit Hilfe einer "Linuxemu" -Anwendung (Linux -Emulator) verwendet werden. Es ist jedoch noch in Arbeit.[56] Umgekehrt die VX32 Virtuelle Maschine ermöglicht es einem leicht modifizierten Kernel von Plan 9 als Benutzerprozess unter Linux und unterstützt den nicht modifizierten Plan 9 -Programme.[57]
Rezeption
Vergleich zu zeitgenössischen Betriebssystemen
1991 verglichen die Designer von Plan 9 ihr System in Bezug auf die Größe mit anderen frühen neunziger Jahren und zeigten, dass der Quellcode für eine minimale ("Arbeiten, wenn auch nicht sehr nützlich") weniger als ein Fünftel der Größe von a war Mach Mikrokernel ohne Gerätefahrer (5899 oder 4622 Zeilen von Code für Plan 9 abhängig von der Metrik gegenüber 25530 Linien). Der vollständige Kernel umfasste 18000 Codezeilen.[36] (Laut einer Anzahl von 2006 war der Kernel damals rund 150.000 Linien, dies wurde jedoch mit mehr als 4,8 Millionen in verglichen Linux.[40]))
Innerhalb der Forschungsgemeinschaft der Betriebssysteme sowie der kommerziellen Unix -Welt wurden andere Versuche, verteilte Computer- und Remote -Dateisystemzugriffe zu erreichen, gleichzeitig mit dem Plan 9 -Design -Aufwand durchgeführt. Dazu gehörten die Netzwerkdateisystem und die zugehörigen vnode Architektur entwickelt bei Sun Microsystemsund radikalere Abflüge vom UNIX -Modell wie das Sprite OS von UC Berkeley. Der Sprite-Entwickler Brent Welch weist darauf hin, dass die Sunos VNODE-Architektur im Vergleich zu den Funktionen von Plan 9 eingeschränkt ist, da sie den Zugang zum Ferngerät und die Fernverarbeitung nicht sauber unterstützt, obwohl dies der Fall sein könnte, hatte das bereits vorhanden UNIX -Domain -Sockets (Was "im Wesentlichen verwendet werden kann, um Server auf Benutzerebene zu nennen") in die VNODE-Architektur integriert wurde.[38]
Eine Kritik an "Alles ist eine Datei", Kommunikation von Text-Message-Design von Plan 9, wies auf die Einschränkungen dieses Paradigmas im Vergleich zum Paradigma hin tippt Schnittstellen von Sonnen objektorientiertes Betriebssystem, Frühling:
Plan 9 schränkt alles ein, um wie eine Datei auszusehen. In den meisten Fällen umfasst der reale Schnittstellentyp das Protokoll von Nachrichten, die an einen Dateideskriptor geschrieben und gelesen werden müssen. Dies ist schwer zu spezifizieren und zu dokumentieren und verbietet jede Automatik Geben Sie die Überprüfung ein Überlegte überhaupt, mit Ausnahme von Dateifehlern zur Laufzeit. (...) [a] Pfadname relativ zu einem Prozess 'impliziter Root -Kontext ist der nur Weg, um einen Dienst zu nennen. Das Binden eines Namens an ein Objekt kann nur durch Angeben eines vorhandenen Namens für das Objekt im gleichen Kontext wie der neue Name angegeben werden. Daher haben Schnittstellenreferenzen einfach kann nicht zwischen den Prozessen übergeben werden, viel weniger in Netzwerken. Stattdessen muss sich die Kommunikation auf Konventionen verlassen, die anfällig für Fehler sind und nicht skalieren.
-Roscoe; Betonung im Original.[58]
Ein späterer retrospektiver Vergleich von Plan 9, Sprite und einem dritten zeitgenössischen verteilten Forschungsbetriebssystem, Amöbe, festgestellt, dass
Die Umgebungen, die sie [Amöben und Sprite] bauen, sind im Betriebssystem eng gekoppelt, wodurch die Kommunikation mit externen Diensten schwierig ist. Solche Systeme leiden unter dem radikalen Abgang vom UNIX -Modell, das auch die Portabilität bereits vorhandener Software auf die Plattform (...) abhält. Das Fehlen von Entwicklern, die sehr kleine Auswahl an unterstützten Hardware und die kleinen, selbst im Vergleich zu Plan 9 haben die Benutzerbasis auch die Einführung dieser Systeme erheblich verlangsamt (...). Im Nachhinein war Plan 9 die einzige von dieser Zeit verteilte Untersuchung, die es geschafft hat, Entwickler anzulocken und lange genug in kommerziellen Projekten eingesetzt zu werden, um sein Überleben bis heute zu rechtfertigen.
-Mirtchovski, Simmonds und Minnich[59]
Einfluss
Plan 9 hat gezeigt, dass ein integrales Konzept von UNIX - dass jede Systemschnittstelle als Dateien dargestellt werden kann - erfolgreich in einem modernen verteilten System implementiert werden kann.[49] Einige Funktionen aus Plan 9, wie die UTF-8-Charaktercodierung von Unicode, wurden in anderen Betriebssystemen implementiert. UNIX-ähnliche Betriebssysteme wie Linux haben 9p2000 implementiert, das Protokoll von Plan 9 zum Zugriff auf Remote-Dateien und übernommen Funktionen von von übernommen RFORK, Process Creation Mechanismus von Plan 9.[61] Zusätzlich in Plan 9 aus dem BenutzerraumEinige der Anwendungen und Tools von Plan 9, einschließlich der SAM- und ACME -Redakteure, wurden auf UNIX- und Linux -Systeme portiert und haben ein gewisses Maß an Popularität erreicht. Mehrere Projekte versuchen, die zu ersetzen GNU Betriebssystemprogramme rund um den Linux -Kernel mit den Programmen für Plan 9 -Betriebssystem.[62][63] Das 9wm Fenstermanager wurde inspiriert von 8½das ältere Fenstersystem von Plan 9;[64] Wmii wird auch stark von Plan 9 beeinflusst.[60] In der Informatikforschung wurde Plan 9 als verwendet als Raster Computing Plattform[65][59] und als Mittel zur Erforschung von Allgegenwärtiges Computer ohne Middleware.[66] Im Handel untergräbt sich Plan 9 Coraid Speichersysteme. Plan 9 hat sich jedoch noch nie an Unix gewandt und war in erster Linie ein Forschungsinstrument:
[I] T sieht so aus, als ob Plan 9 einfach gescheitert war, weil es eine überzeugende Verbesserung gegenüber UNIX hatte, um seinen Vorfahren zu verdrängen. Im Vergleich zu Plan 9 knarrt Unix Crays und Clanks und hat offensichtliche Rostflecken, aber es macht die Arbeit gut genug, um seine Position zu halten. Hier gibt es eine Lektion für ehrgeizige Systemarchitekten: Der gefährlichste Feind einer besseren Lösung ist eine vorhandene Codebasis, die gerade gut genug ist.
Weitere Faktoren, die zu einer geringen Einführung von Plan 9 beigetragen haben Gerätetreiber.[49][50]
Befürworter und Entwickler von Plan 9 behaupten, dass die Probleme, die ihre Akzeptanz behindern, gelöst wurden, dass seine ursprünglichen Ziele als verteiltes System, Entwicklungsumfeld und Forschungsplattform eingehalten wurden und dass es eine moderate, aber wachsende Beliebtheit hat. InfernoDurch seine gehosteten Fähigkeiten war ein Mittel, um Plan 9 -Technologien als gehostete Teil der heterogenen Computernetze in andere Systeme zu bringen.[67][68][69]
Mehrere Projekte arbeiten für den Plan 9, einschließlich 9atom und 9Front. Diese Gabeln Augment Plan 9 mit zusätzlich Hardware -Treiber und Software, einschließlich einer verbesserten Version der UPAS Email System, die gehen Compiler, Quecksilber Versionskontrollsystem Unterstützung (und jetzt auch eine GIT -Implementierung) und andere Programme.[19][70] Plan 9 war portiert zum Raspberry Pi Single-Board-Computer.[71][72] Das Harvey -Projekt versucht, den benutzerdefinierten Plan 9 C Compiler durch zu ersetzen GCC, um moderne Entwicklungstools wie z. GitHub und Deckungund beschleunigen die Entwicklung.[73]
Seit Windows 10 Version 1903, das Windows -Subsystem für Linux Implementiert das Dateisystemprotokoll für Plan 9 als Server und den Host Fenster Betriebssystem fungiert als Client.[74]
Derivate und Gabeln
Inferno ist ein Nachkomme von Plan 9 und teilt viele Designkonzepte und sogar Quellcode im Kernel, insbesondere um Geräte und das Styx/9P2000 -Protokoll. Inferno teilt mit Plan 9 The Unix Heritage von Bell Labs und der Unix -Philosophie. Viele der Befehlszeilenwerkzeuge in Inferno waren Plan 9 Tools, die übersetzt wurden Limbo.
- 9atom[75] Erhöht die Verteilung von Plan 9 mit der Zugabe eines 386 Pae Kernel, ein AMD64 -CPU und ein terminaler Kernel, Nupas, zusätzliche PC -Hardwareunterstützung, IL und Ken's FS.
- 9Front[76] ist eine Gabel von Plan 9. Es wurde begonnen, einen wahrgenommenen Mangel an engagierten Entwicklungsressourcen innerhalb von Bell Labs zu beheben, und hat verschiedene Korrekturen und Verbesserungen angesammelt.
- 9LEGACY[77] ist eine alternative Verteilung. Es enthält eine Reihe von Patches, die auf der aktuellen Verteilung von Plan 9 basieren.
- Akaros[78] ist für viele Kernarchitekturen und große SMP-Systeme ausgelegt.
- Harvey OS[79] ist ein Versuch, den Code für Plan 9 mit GCC und Clang in Arbeit zu bringen.
- Jehanneos[80] ist ein experimentelles Betriebssystem, das aus Plan 9 abgeleitet ist. Sein Userland und Module werden größtenteils aus 9Front abgeleitet, sein Build -System von Harvey OS, und sein Kernel ist eine Gabel von der Plan9-9K 64-Bit Plan9 Kernel.
- Nix[81] ist eine Gabel von Plan9 für Multicore -Systeme und Cloud Computing.
- Node9[82] ist eine Skriptableitung von Plan9/Inferno, das die ersetzt Limbo Programmiersprache und Dis virtuelle Maschine mit der Lua Sprache und Luajit virtuelle Maschine. Es ersetzt auch die hostete I/O-Per-Plattform-I/O durch Node.js ' libuv Eventing und I/O für konsistente, plattformübergreifende Hosting. Es ist ein Proof-of-Concept, der zeigt, dass ein verteiltes Betriebssystem aus den Namensspitzen und generischen Cloud-Elementen konstruiert werden kann, um ein Einzelsystem-Bild von willkürlicher Größe zu konstruieren.
- Plan B[83] Entwickelt, um in verteilten Umgebungen zu arbeiten, in denen sich die verfügbaren Ressourcen zu unterschiedlichen Zeitpunkten unterscheiden.
Lizenz
Beginnend mit der Veröffentlichung der vierten Ausgabe im April 2002,[24] Der vollständige Quellcode von Plan 9 von Bell Labs ist frei verfügbar unter Lucent Public Lizenz 1.02, was als ein angesehen wird Open-Source-Lizenz bis zum Open Source Initiative (OSI), gratis Software Lizenz durch die Kostenlose Software -Stiftungund es passt an die Debian kostenlose Software -Richtlinien.[40]
Im Februar 2014 die Universität von Kalifornien, Berkeley, wurde durch den aktuellen Plan 9 autorisiert Urheber – Alcatel-Lucent - So veröffentlichen Sie alle Planen 9 -Software, die zuvor der Lucent Public Lizenz, Version 1.02 unter dem Nur GPL-2.0.[84]
Am 23. März 2021, Eigentum an Plan 9, übertragen von übertragen Bell Labs zum Plan 9 Foundation,[85] und alle früheren Veröffentlichungen wurden an die nachgelassen MIT -Lizenz.[10]
Siehe auch
Verweise
- ^ "Plan 9 aus Bell Labs".
- ^ Lucent Technologies (2006). "Glenda, der Plan 9 Hase". Abgerufen 2008-12-02.
- ^ "Plan 9 Stiftung: Aktivitäten". Plan9Foundation.org. Abgerufen 23. März 2021.
- ^ "9Legacy". 9Legacy.org. Abgerufen 23. März 2021.
- ^ "Plan9Checksums". Bell Labs. Archiviert von das Original Am 2017-06-01. Abgerufen 2019-07-25.
Sa 10. Januar 04:04:55 EST 2015 ... Plan9.iso.bz2
- ^ "GPLV2 -Quellcode".
- ^ Crawford, Diane (1999). "Forum". Kommunikation der ACM. Verband für Rechenmaschinen (ACM). 42 (8): 11–15. doi:10.1145/310930.310939. ISSN 0001-0782.
- ^ a b c d e Pike, R.; Presotto, D.; Dorward, S.; Flandrena, b.; Thompson, K.; TRICKEY, H.; Winterbottom, P. "Plan 9 aus Bell Labs". Bell Labs. Lucent Technologies. Abgerufen 2016-02-26.
- ^ "Plan 9 Lizenz". p9f.org. Archiviert von das Original am 14. Juni 2021. Abgerufen 14. Juni 2021.
- ^ a b c Sorace, Anthony. "Übertragung von Plan 9 in die Plan 9". marc.info. Archiviert von das Original am 13. April 2021. Abgerufen 2020-04-14.
- ^ "Plan9License". akaros.cs.berkeley.edu. Archiviert von das Original am 13. Februar 2014. Abgerufen 14. Juni 2021.
Die University of California, Berkeley, wurde von Alcatel-Lucent genehmigt, um die gesamte Software von Plan 9 zu veröffentlichen, die zuvor von der Lucent Public Lizenz, Version 1.02 unter der GNU General Public Lizenz, Version 2, geregelt wurde.
- ^ "Lucent Public Lizenz Version 1.02". Plan9.bell-labs.com. Archiviert von das Original am 3. Oktober 2003. Abgerufen 14. Juni 2021.
- ^ "Plan 9 Open Source -Lizenz - Version 1.4 - 09/10/02". Plan9.bell-labs.com. Archiviert von das Original am 18. Dezember 2002. Abgerufen 14. Juni 2021.
- ^ "Plan 9 Open Source -Lizenz - Version 1.2 - 29.10.00". Plan9.bell-labs.com. Archiviert von das Original am 6. Dezember 2000. Abgerufen 14. Juni 2021.
- ^ "Plan 9 Open Source -Lizenz - Version 1.1 - 09/20/00". Plan9.bell-labs.com. Archiviert von das Original am 26. Oktober 2000. Abgerufen 14. Juni 2021.
- ^ "Plan 9 Open -Source -Lizenzvereinbarung". Plan9.bell-labs.com. Archiviert von das Original am 16. August 2000. Abgerufen 14. Juni 2021.
- ^ a b c Raymond, Eric S. (2003-09-17). "Plan 9: Die Art und Weise, wie die Zukunft war". Die Kunst der Unix -Programmierung. Addison-Wesley. ISBN 0-13-142901-9. Abgerufen 2007-05-07.
- ^ Robertson, James (2011-07-16). "Plan 9 Forked, geht weiter als 9 -fach". Osnews. Abgerufen 2011-12-31.
- ^ a b c "9atom". Abgerufen 2011-11-11.
- ^ "Von den Erfindern des Unix -Systems kommt Plan 9 aus Bell Labs" (Pressemitteilung). Lucent Technologies. 1995-07-18. Archiviert von das Original Am 2006-02-09.
- ^ McIlroy, Doug (März 1995). "Vorwort". Bell Labs (2. Aufl.). Lucent Technologies. Abgerufen 2016-02-26.
- ^ Lee, Yvonne L. (24. Juli 1995). "AT & T Bell Labs Ships Plan 9 OS für eingebettete Systeme". InfoWorld.
- ^ Pontin, Jason (19. Februar 1996). "AT & T enthüllt Pläne für Java -Konkurrent". InfoWorld. p. 3.
- ^ a b c Loli-Queru, Eugenia (2002-04-29). "Bell Labs veröffentlicht eine neue Version von Plan 9". Osnews. Abgerufen 2011-12-31.
- ^ "Wie man beiträgt". Bell Labs. Lucent Technologies. Abgerufen 2011-11-30.
- ^ "Auf dem Laufenden bleiben". Bell Labs. Lucent Technologies. Abgerufen 2019-07-24.
- ^ "Plan 9 - zusätzliche Software". 2009. Abgerufen 2016-03-06.
- ^ Weldon, Marcus (23. März 2021). "Plan 9 von Bell Labs im Cyberspace!". Nokia Bell Labs. Abgerufen 23. März 2021.
- ^ Sharwood, Simon. "Bell Labs überträgt das Urheberrecht des einflussreichen 'Plan 9' OS in die neue Stiftung". Das Register. Abgerufen 2021-03-24.
- ^ "FQA 1 - Einführung in 9Front". fqa.9front.org. Abgerufen 2018-02-15.
- ^ "Harvey OS". Harvey-Os.org. Abgerufen 2018-02-15.
- ^ "Jehanne". Jehanne.io. Abgerufen 2018-02-15.
- ^ "Ankündigung der ersten Veröffentlichung für die breite Öffentlichkeit". 9 Fans. 1995-07-16. Archiviert von das Original am 2008-07-06.
- ^ a b Mullender, Sape J.; Jansen, Pierre G. (2004-02-26). "Echtzeit in einem echten Betriebssystem". In Herbert, Andrew J.; Spärck Jones, Karen (Hrsg.). Computersysteme: Theorie, Technologie und Anwendungen: Eine Hommage an Roger Needham. Springer Science+Business Media. p. 211. ISBN 978-0-387-20170-2. Abgerufen 2011-12-24.
- ^ Hancock, Brian (2003). "Unix neu erfinden: Eine Einführung in das Betriebssystem Plan 9". Bibliothek Hallo Tech. McB hoch. 21 (4): 471–76. doi:10.1108/07378830310509772.
- ^ a b c d e Presotto, Dave; Pike, Rob; Thompson, Ken; Trizeke, Howard. Plan 9, ein verteiltes System. Proc. Frühjahr 1991 Europäische Konferenz. Citeseerx 10.1.1.41.9192.
- ^ a b c Pike, R.; Presotto, D.; Thompson, K.; TRICKEY, H.; Winterbottom, P. "Die Verwendung von Namensräumen in Plan 9". Bell Labs. Abgerufen 2016-02-26.
- ^ a b Welch, Brent (1994). "Ein Vergleich von drei verteilten Dateisystemarchitekturen: Vnode, Sprite und Plan 9". Computersysteme. 7 (2): 175–199. Citeseerx 10.1.1.46.2817.
- ^ Plan 9 Programmierhandbuch, Volume 1 - -
- ^ a b c d e f Pereira, Uriel M. (2006). Der Unix Spirit Set Free: Plan 9 aus Bell Labs (Avi). Fosdem. Abgerufen 2011-12-02.
- Uriel. "Der Unix Spirit Set Free: Plan 9 aus Bell Labs" (PDF). Bell Labs.
- ^ a b Minnich, Ron (2005). "Warum Plan 9 noch nicht tot ist und was wir daraus lernen können?" (PDF). Los Alamos Nationales Labor. Archiviert von das Original (PDF) am 2016-02-25. Abgerufen 2016-02-26.
- ^ a b Valerie, Aurora (2009-03-25). "Gewerkschaftsdateisysteme: Implementierungen, Teil I". Lwn.net. Abgerufen 2011-12-05.
- ^ a b Pendry, Jan-Simon; McKusick, Marshall Kirk (1995). Union montiert in 4,4bsd-Lite. Proc. Winter Usenix Conf.
- ^ Duff, Tom. "18". RC - der Plan 9 Shell. Plan 9, 4. Ausgabe. (PDF);
- ^ a b "Unix to Plan 9 Befehlsübersetzung". Bell Labs. Lucent Technologies. Abgerufen 2011-12-02.
- ^ Pike, Rob (2003-04-30). "UTF-8-Geschichte". Abgerufen 2006-04-27.
- ^ Lunde, Ken (Januar 1999). CJKV -Informationsverarbeitung. O'Reilly Media. p.466. ISBN 978-1-56592-224-2. Abgerufen 2011-12-23.
- ^ Cox, R.; Grosse, E.; Pike, R.; Presotto, D.; Quinlan, S. "Sicherheit in Plan 9". Bell Labs. Lucent Technologies. Abgerufen 2016-02-26.
- ^ a b c Hudson, Andrew (2006-07-19). "Untersuchung des Betriebssystems Plan 9". Osnews. Abgerufen 2011-12-31.
- ^ a b "Ein Interview mit Russ Cox". Die Einrichtung. Verwendet dies. 2011-04-09. Abgerufen 2012-01-01.
- ^ Dixon, Rod (2004). Open Source -Softwaregesetz. Artech House. p. 213. ISBN 978-1-58053-719-3. Abgerufen 2011-12-25.
- ^ Thompson, Ken (Februar 1992). "Ein neuer C -Compiler" (PDF). Australian Unix Systems Benutzergruppe Newsletter. Kensington, AU: Aug. 13 (1): 31–41. ISSN 1035-7521. Abgerufen 2011-12-25.
- ^ Pike, Rob. "Rio: Design eines gleichzeitigen Fenstersystems" (PDF). Abgerufen 8. März 2013.
- ^ Plan 9 Programmierhandbuch, Volume 1 - -
- ^ Trizeke, Howard. "Affe - die ANSI/POSIX -Umgebung". Bell Labs. Lucent Technologies. Abgerufen 2016-02-26.
- ^ "Linux -Emulation". Bell Labs. Lucent Technologies. Abgerufen 2016-02-26.
- ^ Ford, Bryan; Cox, Russ (2008). VX32: Leichtes Sandboxing auf Benutzerebene auf dem x86. Usenix Jährliche Technologie. Conf. S. 293–306. Citeseerx 10.1.1.212.9353.
- ^ Roscoe, Timothy (1995). Die Struktur eines Multi-Service-Betriebssystems (PDF) (Ph.D.). Universität von Cambridge. S. 22–23.
- ^ a b Mirtchovski, Andrey; Simmonds, Rob; Minnich, Ron (2004). Plan 9 - Ein integrierter Ansatz zum Grid Computing. Proc. 18. int'l parallel und verteiltes Verarbeitungssymp. IEEE. Citeseerx 10.1.1.97.122.
- ^ a b "Fenstermanager verbessert 2". sauglos.org. Archiviert von das Original Am 2011-12-31. Abgerufen 2012-01-02.
[WMII] verfügt über eine 9p-Dateisystemschnittstelle und unterstützt das Fenstermanagement der klassischen und fliesen (ACME-ähnlichen).
- ^ Torvalds, Linus (1999). "Die Linux -Kante". Offene Quellen: Stimmen aus der Open -Source -Revolution. O'Reilly. ISBN 1-56592-582-3.
- ^ "Glendix: Bringen Sie die Schönheit von Plan 9 auf Linux". Abgerufen 2011-12-01.
- ^ "Plan 9 von Gentoo: Plan 9 trifft Gentoo". Gentoo Linux. Archiviert von das Original Am 2012-12-20. Abgerufen 2011-12-01.
- ^ "Der 9WM -Fenstermanager". 9wm. Abgerufen 2012-01-02.
9WM ist ein X-Fenstermanager, der versucht, den Plan 9-Fenstermanager 8-1/2 so weit wie möglich innerhalb der durch X auferlegten Einschränkungen zu emulieren.
- ^ "9Grid". Bell Labs. Lucent Technologies. Archiviert von das Original Am 2006-03-14. Abgerufen 2006-03-28.
- ^ Ballesteros, Francisco J.; Guardiola, Gorka; Soriano, Enrique; Leal Algara, Katia (2005). Traditionelle Systeme können gut für allgegenwärtige Anwendungen funktionieren. Eine Fallstudie: Plan 9 aus Bell Labs wird allgegenwärtig. IEEE INTL 'CONF. über durchdranges Computer und Kommunikation. Citeseerx 10.1.1.109.8131.
- ^ "Vita Nuova liefert Evotec oai Inferno -Netz" (PDF) (Pressemitteilung). Vita Nuova. 2004-05-18. Abgerufen 2006-03-28.
- ^ "Bibliotheken der Rutgers University installieren Inferno -Datenraster" (PDF) (Pressemitteilung). Vita Nuova. 2004-05-12. Abgerufen 2006-03-28.
- ^ "Das Ministerium für Biologie der Universität von York Installation von Vita Nuova's Inferno -Datennetz" (PDF) (Pressemitteilung). Vita Nuova. 2004-05-04. Abgerufen 2006-03-28.
- ^ "9front.org Der Plan fiel ab". Abgerufen 2021-10-14.
- ^ Hayward, David (2013-05-09). "Raspberry PI -Betriebssysteme: 5 überprüft und bewertet". TechRadar. Archiviert von das Original am 7. Juni 2013. Abgerufen 2014-04-20.
- ^ "So installieren Sie Plan 9 auf einem Himbeer -Pi". Elinux. Abgerufen 2014-11-16.
- ^ Jurado, Álvaro; Fernández, Rafael; Du Colombier, David; Minnich, Ron; Nyrhinen, Aki; Floren, John. Harvey (PDF). Usenix ATC BOF -Sitzung.
- ^ "Was ist neu für WSL in Windows 10 Version 1903?". Windows -Befehlszeilen -Tools für Entwickler. 16. Februar 2019.
- ^ "9atom". Archiviert vom Original am 11. November 2020.
{{}}
: CS1 Wartung: Ungeeignete URL (Link) - ^ "9front.org Der Plan fiel ab".
- ^ "9Legacy".
- ^ "Akaros".
- ^ "Harvey OS".
- ^ "Jehanneos".
- ^ "Nix". 21. November 2020.
- ^ "Node9". GitHub. 14. Januar 2022.
- ^ "Plan B". 26. November 2020.
- ^ Sharwood, Simon (2014-02-14). "Plan 9 bewegt sich aus dem Lucent -Lizenzraum". Das Register. Abgerufen 2014-04-20.
- ^ "Plan9 Foundation". Plan9Foundation.org. Abgerufen 2021-10-13.
Externe Links
- 9p.io: Archiviertes Spiegel der ursprünglichen offiziellen Plan 9 -Website unter Plan9.bell-labs.com Archiviert 2021-05-24 am Wayback -Maschine
- 9fans: Semi-official Mailingliste für Benutzer und Entwickler von Plan 9 für Plan 9
- Plan 9 Foundation