Plan 9 from Bell Labs ist ein Betriebssystem, das in den späten 1980er Jahren von den Bell Laboratories entwickelt wurde, die zuvor bereits Unix entwickelt hatten. Es gilt als Versuch, das Prinzip Everything is a file konsequent umzusetzen. Benannt ist es nach dem „schlechtesten US-Film aller Zeiten“ Plan 9 from Outer Space (1959) von Ed Wood, in dem die Außerirdischen Tote wieder zum Leben erwecken (es finden sich in Plan 9 weitere Anspielungen auf das Werk von Ed Wood, z. B. das Maskottchen Glenda, das auf den Film Glen or Glenda (1953) zurückzuführen ist).
Plan 9 ist als Plattform für Forschungsprojekte in den Bereichen (Unix-)Betriebssysteme und Netzwerke einsetzbar.
2011 spaltete eine Gruppe von Plan-9-Entwicklern aus Unzufriedenheit mit der Entwicklung unter dem Motto „The Front fell off“ einen Fork des Systems unter dem Namen Plan 9 Front ab.[1][2]
Die Entwickler wollen mit Plan 9 eine Antwort auf die Frage „Was versucht Unix wirklich zu erreichen?“ geben. In einem Satz lautet diese Antwort:
Repräsentiere alle Ressourcen als Dateien, ohne zwischen lokalen und nicht-lokalen Objekten zu unterscheiden.
Das Konzept der Datei wurde dahingehend erweitert, dass alle Ressourcen (Dateien, Bildschirme, Benutzer, Computer usw.) einen Namen haben und wie Dateien angesprochen werden. Es gibt ein Standardprotokoll namens 9P, um diese Ressourcen anzusprechen. Weiterhin werden alle Dateisystemhierarchien in einer einzigen großen Hierarchie zusammengefasst. Konkrete Beispiele für die Auswirkungen dieser Grundsätze: Erreichbare Server sind Teil des Dateisystems, laufende Programme sind Teil des Dateisystems usw.
Dieses zugrundeliegende Konzept hat kaum in die gängigen Betriebssysteme Einzug gehalten, da einige radikale Modifikationen an der Softwarearchitektur erforderlich sind. Eine Ausnahme ist die Aufnahme des /proc-Dateisystems in Linux und andere Betriebssysteme, welches allen Programmen eine einheitliche und meist abwärtskompatible Zugriffsmöglichkeit auf Daten, wie z. B. Zahl der laufenden Prozesse, Systemauslastung, Zahl der Netzwerkverbindungen usw. erlaubt – alles über die herkömmliche Dateisystemschnittstelle. Die Idee „Alles ist eine Datei“ wird unter Linux in den virtuellen Dateisystemen sysfs und configfs weitergetragen.
Geschichte
An der Entwicklung von Plan 9 haben eine Reihe namhafter Personen mitgewirkt, darunter Ken Thompson, der zeitweilig Leiter des Projekts war und an den ersten Versionen von Unix sowie der Entwicklung der Programmiersprache C beteiligt war.
Die interne Entwicklung begann 1987.
Der produktive Einsatz an den Bell Labs fand ab 1989 statt.
Plan 9 from Bell Labs First Edition erschien 1993 und wurde ausschließlich an Universitäten weitergegeben.
Plan 9 from Bell Labs Second Edition erschien 1995 und konnte für $ 350 käuflich erworben werden.
Plan 9 from Bell Labs Third Edition (Brazil) erschien am 7. Juni 2000 unter der eigens erstellten Plan-9-Lizenz.
Plan 9 from Bell Labs Fourth Edition erschien im April 2002 und brachte grundlegende Änderungen mit sich. Unter anderem wurden 9P komplett überarbeitet (zum Beispiel durch die Einführung langer Dateinamen), fossil[6] (ein neues Dateisystem) und venti[7] (ein Backupserver) dem System hinzugefügt und die Installationsroutine wesentlich verbessert. Ab dieser Version ist Plan 9 Open Source gemäß OSI und freie Software nach der Definition der Free Software Foundation.
Im Februar 2014 wurde Plan 9, bis dahin unter der Lucent Public License stehend, zusätzlich unter der GPL lizenziert.[8][9]
Im März 2021 wurden die Urheberrechte über Plan 9 von Bell Labs an die Plan 9 Foundation übertragen, welche daraufhin den Quellcode unter eine MIT-Lizenz stellte.[10][11]
Abspaltungen und Abkömmlinge
9front[12] ist eine Abspaltung von Plan 9, die intensiver gewartet wird.
Harvey[13] ist eine Abspaltung, die auf die AMD64-Architektur spezialisiert ist und eine Unterstützung für die C-Compiler GCC und Clang einführt, um das Portieren vorhandener Anwendungen zu vereinfachen.
Das zum Teil auf Harvey basierende Jehanne[14] (Version von archive.org, Originalwebsite war ab spätestens 2023-11 übernommen durch Dritte) verbessert die Kompatibilität von Plan 9 mit dem Portable Operating System Interface.
Plan 9 from User Space[15] ist eine Sammlung von vielen Plan-9-Programmen, die auf andere Betriebssysteme portiert wurden.
Inferno wurde von den Bell Labs eigenständig entwickelt. Es kombiniert sehr viele Konzepte von Plan 9 mit einer in das Betriebssystem integrierten virtuellen Maschine, die die Ausführung auf unterschiedlichen Architekturen ermöglicht. Node 9 ist wiederum eine Abspaltung, die diese virtuelle Maschine durch die von LuaJIT ersetzt.
9vx läuft auf einer Virtualisierungsschicht durch vx32-Sandboxing.
Literatur
Hans-Peter Bischof, Gunter Imeyer, Bernhard Wellhöfer (geb. Kühl), Axel-Tobias Schreiner: Das Netzbetriebssystem Plan 9. Buch mit CD-ROM. Hanser Fachbuch, München / Wien 1999, ISBN 3-446-18881-9 (lulu.com).
↑Lizenztext von Plan 9. Archiviert vom Original (nicht mehr online verfügbar) am 4. November 2015; abgerufen am 14. Februar 2014 (englisch): „The University of California, Berkeley, has been authorised by Alcatel-Lucent to release all Plan 9 software previously governed by the Lucent Public License, Version 1.02 under the GNU General Public License, Version 2.“Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/akaros.cs.berkeley.edu
↑Marcus Weldon: Plan 9 from Bell Labs in Cyberspace! Abgerufen am 23. März 2021 (englisch): „We are transferring the copyright in Plan 9 software to the Plan 9 Foundation for all future development, allowing them to carry on the good work that Bell Labs and many other Plan 9 enthusiasts have undertaken over the past couple of decades.“
↑Plan 9 Foundation: Plan 9 Foundation: Historical Releases. Abgerufen am 23. März 2021 (englisch): „All historical releases of Plan 9 have been re-released under the terms of the MIT license.“
↑9FRONT.org. Abgerufen am 12. Oktober 2018 (englisch).
↑Harvey OS. Abgerufen am 12. Oktober 2018 (englisch).
↑Jehanne. Archiviert vom Original am 12. Januar 2019; abgerufen am 12. Oktober 2018 (englisch).Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/jehanne.io