Plan 9 von Glockenlaboratorien

Der Plan 9 von Glockenlaboratorien ist verteiltes Betriebssystem einer kostenlosen Software. Es wurde in erster Linie zu Forschungszwecken als der Nachfolger von Unix vom Rechenwissenschaftsforschungszentrum an Glockenlaboratorien zwischen der Mitte der 1980er Jahre und 2002 entwickelt. Plan 9 setzt fort, verwendet und von Betriebssystemforschern und Hobbyisten entwickelt zu werden.

Plan 9 hat neuartige Eigenschaften solcher als 9P Protokoll, um auf lokale und entfernte Mittel als Dateien, Vereinigungsgestelle, ein verbessertes proc Dateisystem und heimische Unicode-Unterstützung überall im System zuzugreifen. Im Plan 9 werden alle Systemschnittstellen, einschließlich derjenigen, die für den Netzwerkanschluss und die Benutzerschnittstelle erforderlich sind, durch das Dateisystem vertreten aber nicht haben Schnittstellen spezialisiert.

Der Name Plan 9 von Glockenlaboratorien ist eine Verweisung auf den 1959-KultsciencefictionsZ-Filmplan 9 von Ed Wood vom Weltraum. Eine andere Verweisung auf das Vermächtnis von Wood ist der Name des Glücksbringers-Glenda des Plans 9, des Häschens des Plans 9.

Geschichte

Plan 9 war eine Glocke Laboratorien inneres Projekt von seinem Anfang während der Mitte der 1980er Jahre. Es hat Unix als die primäre Plattform von Laboratorien der Glocke für die Betriebssystemforschung ersetzt. Es hat mehrere Änderungen zum ursprünglichen Modell von Unix erforscht, die den Gebrauch und die Programmierung des Systems namentlich in verteilten Mehrbenutzerumgebungen erleichtern. 1992 haben Glockenlaboratorien die erste öffentliche Ausgabe Universitäten zur Verfügung gestellt, und drei Jahre später ist eine kommerzielle zweite Ausgabe-Version verfügbar für die breite Öffentlichkeit geworden. Gegen Ende der 1990er Jahre haben Lucent Technologies, Glockenlaboratorien geerbt, kommerzielle Unterstützung für das Projekt fallen lassen. 2000 wurde eine nichtkommerzielle dritte Ausgabe laut einer offenen Quelllizenz verteilt. Eine vierte Ausgabe laut einer neuen Lizenz der kostenlosen Software ist 2002 vorgekommen.

Benutzer- und Entwicklungsgemeinschaft, einschließlich aktueller und ehemaliger Glockenlaboratorium-Mitglieder und Instituts von Massachusetts für das Technologiepersonal, setzt fort, geringe tägliche Ausgaben in der Form von ISO Images zu erzeugen. Glockenlaboratorien veranstalten noch die Entwicklung. Der Entwicklungsquellbaum ist über 9P und HTTP-Protokolle zugänglich und wird verwendet, um vorhandene Installationen zu aktualisieren. Zusätzlich zu den offiziellen Bestandteilen des in den ISOs eingeschlossenen OS veranstalten Glockenlaboratorien auch ein Behältnis äußerlich entwickelter Anwendungen und Werkzeuge.

Der Plan 9 von Glockenlaboratorien wurde von Mitgliedern des Rechenwissenschaftsforschungszentrums an Glockenlaboratorien, derselben Gruppe ursprünglich entwickelt, die ursprünglich UNIX und C entwickelt hat. Die Mannschaft des Plans 9 wurde dadurch am Anfang geführt Rauben Hecht, Ken Thompson, Dave Presotto und Phil Winterbottom mit der Unterstützung von Dennis Ritchie als Kopf der Rechentechnik-Forschungsabteilung Aus. Im Laufe der Jahre haben viele bemerkenswerte Entwickler zum Projekt einschließlich Brian Kernighans, Tom Duffs, Doug McIlroys, Bjarne Stroustrups und Bruce Ellis beigetragen.

Designkonzepte

Plan 9 ist eine Evolution von UNIX Designkonzepten:

  1. alle Gegenstände sind entweder Dateien oder Dateisysteme
  2. Kommunikation ist über ein Netz
  3. private namespaces erlauben ihren Eigentümern, auf lokale und entfernte Prozesse durchsichtig zuzugreifen

Plan 9 ist ein Bratrost Rechenplattform. Es ist eine Anstrengung, eine Rechenumgebung für geografisch verteilte Trauben zur Verfügung zu stellen, die auf der heterogenen Hardware laufen, die für moderne verteilte Umgebungen konstruiert ist und vom Anfang entworfen ist, um ein vernetztes Betriebssystem zu sein. Es kann als ein geschlossenes System installiert und auf einem einzelnen Computer verwendet werden, sondern auch hat die Fähigkeit, seine Bestandteile zwischen getrennten Computern zu trennen. In einer typischen Installation des Plans 9 arbeiten Benutzer an Terminals, die Rio führen, und sie greifen auf Zentraleinheitsserver zu, die mit der Berechnung intensive Prozesse behandeln. Dauerhafte Datenlagerung wird von zusätzlichen Netzgastgebern zur Verfügung gestellt, die als Dateiserver und archivalische Lagerung handeln. Zurzeit verfügbare Tischcomputer können mit dieser Architektur innerlich mit vielfachen virtuellen Maschinen wetteifern.

9P Protokoll

Um die Anzahl von kundenspezifischem APIs und Systemanrufen zu vermindern, macht Plan 9 schweren Gebrauch 9P Protokoll. 9P ist ein allgemeines mittler-agnostisches byteorientiertes Protokoll, das für Nachrichten sorgt, die zwischen einem Server und einem Kunden geliefert sind. Das Protokoll wird verwendet, um sich zu beziehen auf und mit Prozessen, Programmen und Daten, sowohl einschließlich der Benutzerschnittstelle als auch einschließlich des Netzes zu kommunizieren. Mit der Ausgabe der 4. Ausgabe wurde es modifiziert und 9P2000 umbenannt.

Verschieden von den meisten anderen Betriebssystemen stellt Plan 9 spezielle Anwendung nicht zur Verfügung, Schnittstellen (wie Steckdosen von Berkeley, X Mittel oder ioctl Systemanrufe) zu Zugriffsgeräten programmierend. Statt dessen führen Gerät-Fahrer des Plans 9 ihre Kontrollschnittstelle als ein Dateisystem durch, so dass auf die Hardware durch die gewöhnlichen Dateioperationen des Eingangs/Produktion gelesen zugegriffen werden und schreiben kann. Folglich kann das Teilen des Geräts über das Netz durch das Besteigen des entsprechenden Verzeichnisbaums zur Zielmaschine vollbracht werden.

Vereinigungsverzeichnisse und namespaces

Plan 9 erlaubt dem Benutzer, die Dateien, genannt Namen von verschiedenen Verzeichnisbäumen in einer einzelnen Position zu sammeln. Die Namenentschlossenheit wird dann von oben bis unten durchgeführt: Wenn der Name im Spitzenverzeichnis nicht besteht, wird er in niedrigeren, bis gefunden, nachgeschlagen. Derselbe Name in niedrigeren Verzeichnissen wird in der Verzeichnisauflistung gezeigt, aber wird so nicht zugänglich sein das Mischen von Unterverzeichnissen wird nicht behandelt.

Ein Vereinigungsverzeichnis kann durch das Verwenden des Befehls geschaffen werden. Im folgenden Beispiel, würde Vereinigung sein, die danach, wie gebeten, durch die Auswahl bestiegen ist:

binden Sie-a/usr/alice/bin / Behälter

</Quelle>

In diesem Beispiel, wenn der Name im Inhalt des Verzeichnisses nicht gefunden werden kann, wird er darin nachgeschlagen.

Außerdem, die Systeme behält getrennte Gestell-Tische für jeden Prozess, so jede Anwendung mit einer Ansicht vom System als ein einzelner, zusammenhängender namespace versorgend, der als ein hierarchisches Dateisystem erscheint, aber lokal oder entfernt (physisch getrennt über das Netz) Mittel vertreten kann. Der namespace jedes Prozesses kann unabhängig gebaut werden, und der Benutzer kann gleichzeitig mit Anwendungen arbeiten, die heterogenen namespaces haben. Der namespaces kann verwendet werden, um eine isolierte Umgebung zu schaffen, die chroot auf eine sicherere Weise ähnlich ist.

Die Vereinigungsverzeichnisarchitektur des Plans 9 hat Vereinigungsdateisystemdurchführungen von BSD und Linux begeistert.

Spezieller virtueller filesystems

/proc

Anstatt spezielle Software für die Prozesssteuerung zu verlangen, stellt Plan 9 eine Dateisystemhierarchie zur Verfügung, Prozesse laut des Verzeichnisses zu führen. Jeder Prozess erscheint als ein genannter Gegenstand — ein Verzeichnis mit Informations- und Kontrolldateien — der durch die gewöhnlichen Mittel des Eingangs/Produktion manipuliert werden kann.

Die Dateisystemannäherung an die Prozesssteuerung erlaubt Benutzern des Plans 9, Prozesse mit Dateiverwaltungswerkzeugen wie ls und Katze zu führen; jedoch können die Prozesse nicht kopiert und als Dateien bewegt werden.

/ Netz

Plan 9 verwendet spezialisierte Systemanrufe oder ioctls nicht, für auf den Netzwerkanschlussstapel oder Netzwerkanschluss der Hardware zuzugreifen. Stattdessen wird das Dateisystem verwendet. Netzverbindungen werden durch das Lesen und das Schreiben von Kontrollnachrichten kontrolliert, um Dateien zu kontrollieren. Unterverzeichnisse solcher als und sind als eine Schnittstelle an ihre jeweiligen Protokolle gewöhnt.

Unicode

Um die Kompliziertheit des Betriebscharakters encodings zu reduzieren, verwendet Plan 9 Unicode überall im System. Die anfängliche Durchführung von Unicode war ISO 10646. Ken Thompson hat UTF-8 erfunden, der die heimische Verschlüsselung im Plan 9 geworden ist. Das komplette System wurde zum allgemeinen Gebrauch 1992 umgewandelt. UTF-8 bewahrt rückwärts gerichtete Vereinbarkeit mit traditionellen ungültigen begrenzten Schnuren, die zuverlässigere Informationsverarbeitung und das Anketten von mehrsprachigen Schnur-Daten mit Pfeifen von Unix zwischen vielfachen Prozessen ermöglichen. Das Verwenden eines einzelnen UTF-8, der — mit Charakteren für alle Kulturen und Gebiete verschlüsselt — beseitigt das Bedürfnis in der Schaltung zwischen Codesätzen.

Das Kombinieren der Designkonzepte

Obwohl interessant, selbstständig haben die Designkonzepte des Plans 9, wenn verbunden, zusammen am nützlichsten sein sollen. Zum Beispiel, um Server der Netzadressumrechnung (NAT) durchzuführen, kann man einfach ein Vereinigungsverzeichnis das Überziehen des Verzeichnisbaums des Routers mit seinem eigenen schaffen. Ähnlich kann man ein virtuelles privates Netz (VPN) durchführen, indem man in einem Vereinigungsverzeichnis eine Hierarchie von einem entfernten Tor überzieht, gesichert 9P über das öffentliche Internet verwendend. Das Vereinigungsverzeichnis mit der Hierarchie und den Filtern kann an den Sandkasten eine unvertraute Anwendung gewöhnt sein oder eine Brandmauer durchzuführen. Auf dieselbe Weise kann das verteilte Rechennetz mit dem Vereinigungsverzeichnis von Hierarchien von entfernten Gastgebern zusammengesetzt werden, das erlaubt, mit ihnen aufeinander zu wirken, als ob sie lokal sind.

Das Kombinieren dieser Methoden man kann einen Komplex sammeln, hat Rechenumgebung mit Benutzerterminals, Dateiserver verteilt, die dauerhafte Daten und andere Server versorgen, die zusätzliche Verarbeiter, Benutzerbeglaubigung und Netztore, alles zur Verfügung stellen, das vorhandene hierarchische Namensystem wiederverwendend.

Software für den Plan 9

Das Vertriebspaket für den Plan 9 schließt spezielle Bearbeiter-Varianten und programmierende Sprachen ein, und stellt einen maßgeschneiderten Satz von Bibliotheken zusammen mit einem zum Plan 9 spezifischen Fenstertechnik-Benutzerschnittstelle-System zur Verfügung. Sein Bearbeiter ist ein Dialekt von C mit einigen Erweiterungen und Beschränkungen.

Als ein Vorteil des Designs des Systems können die meisten Aufgaben im Plan 9 durch das Verwenden ls, Katze, grep, Bedienungsfeld und rm Dienstprogramme in der Kombination mit der RC-Schale (die Verzug-Schale des Plans 9) vollbracht werden.

Faktotum ist eine Beglaubigung und Schlüsselverwaltungsserver für den Plan 9. Es behandelt Beglaubigung im Auftrag anderer solcher Programme, dass sowohl heimliche Schlüssel als auch Durchführungsdetails nur dem Faktotum bekannt sein müssen.

Grafische Programme

Verschieden von Unix wurde Plan 9 mit der Grafik im Sinn entworfen. Nach dem Starten wird ein Terminal des Plans 9 das Fenstertechnik-System von Rio führen, in dem der Benutzer neue Fenster schaffen kann, die Fernsteuerung zeigen. Grafische von dieser Schale angerufene Programme ersetzen es in seinem Fenster.

Der Klempner stellt einen Zwischenprozess-Nachrichtenmechanismus zur Verfügung, der weites System Hyperverbindung erlaubt.

Sam und Gipfel sind die Textaufbereiter des Plans 9.

Lagerungssystem

Plan 9 unterstützt FETT und Fossil-Dateisysteme. Der Letztere wurde an Glockenlaboratorien spezifisch für den Plan 9 entworfen und stellt Schnellschuss-Lagerungsfähigkeit zur Verfügung. Es kann direkt mit einer Festplatte verwendet oder mit Venti — ein archivalisches Dateisystem und dauerhaftes Datenlagerungssystem unterstützt werden.

UNIX Vereinbarkeit

Obwohl Plan 9 eine weitere Entwicklung von UNIX Konzepten hat sein sollen, war die Vereinbarkeit mit dem Vorherexistieren der UNIX Software nie die Absicht für das Projekt. Und doch, viele Befehl-Liniendienstprogramme des Plans 9 haben Decknamen zu den Namen ihrer UNIX Kollegen.

Plan 9 kann POSIX Anwendungen unterstützen und kann mit der Steckdose-Schnittstelle von Berkeley durch die ANSI/POSIX Umgebung (MENSCHENAFFE) wetteifern. Einige Linux Dualzahlen können mit der Hilfe eines "linuxemu" (Emulator von Linux) Anwendung verwendet werden; jedoch ist es noch eine Arbeit im Gange.

Einfluss

Plan 9 hat demonstriert, dass ein Hauptkonzept von Unix — dass jede Systemschnittstelle als Sätze von Dateien vertreten werden konnte — in einem modernen verteilten System erfolgreich durchgeführt werden konnte. Einige Eigenschaften aus dem Plan 9, wie die UTF-8 Charakter-Verschlüsselung von Unicode, sind in anderen Betriebssystemen durchgeführt worden. Unix ähnliche Betriebssysteme wie Linux haben 9P, das Dateisystem des Plans 9 durchgeführt und Formen von rfork ähnlichen Systemanrufen beschränkt. Zusätzlich, im Plan 9 vom Benutzerraum, sind mehrere der Anwendungen und Werkzeuge des Plans 9, einschließlich der RC-Schale, zu Systemen von Unix und Linux getragen worden und haben ein Niveau der Beliebtheit erreicht. Mehrere Projekte bemühen sich, das GNU Betriebssystemprogramme zu ersetzen, die den Kern von Linux mit dem Plan 9 Betriebssystemprogramme umgeben. 9wm wird Fensterbetriebsleiter danach 8½, das ältere Fenstertechnik-System des Plans 9 entworfen; wmii ist auch schwer unter Einfluss des Plans 9.

Jedoch hat sich Plan 9 Unix in der Beliebtheit nie genähert, und war in erster Linie ein Forschungswerkzeug:

Andere Kritiken haben sich auf den Mangel an der kommerziellen Unterstützung, die niedrige Zahl von Endbenutzer-Anwendungen und die Gerät-Fahrer konzentriert.

Befürworter des Plans 9 und Entwickler behaupten, dass die Probleme, die seine Adoption hindern, behoben worden sind, dass seine ursprünglichen Absichten als ein verteiltes System, Entwicklungsumgebung und Forschungsplattform entsprochen worden sind, und dass es gemäßigte, aber wachsende Beliebtheit genießt. Inferno, durch seine veranstalteten Fähigkeiten, ist ein Fahrzeug gewesen, um Technologien des Plans 9 zu anderen Systemen als ein veranstalteter Teil des heterogenen Rechenbratrostes zu bringen.

Mehrere Projekte arbeiten aktiv, um Plan 9, einschließlich 9atom und Plan 9 von der Vorderseite der Leute Cat-v.org (plan9front) zu erweitern. Diese Gabeln vermehren Plan 9 mit zusätzlichen Hardware-Fahrern, und Software einschließlich nupas (hat E-Mail-Dateisystem von Upas verbessert), gehen Sie Bearbeiter, Quecksilberige Versionsregelsystem-Unterstützung und andere Programme.

Lizenz

Der volle Quellcode ist laut der Lucent Öffentlichen Lizenz 1.02 frei verfügbar und betrachtet, um offene Quelle durch Open Source Initiative (OSI) und kostenlose Software durch die Organisation zur Förderung freier Software zu sein. Es passiert die Debian Richtlinien der Kostenlosen Software. Jedoch ist es mit der GNU-Lizenz der Breiten Öffentlichkeit unvereinbar.

Siehe auch

  • Alef (Programmiersprache)
  • Glenda, das Häschen des Plans 9
  • Rendezvous (Plan 9)
  • Styx (Protokoll)
  • Inferno (Betriebssystem)

Außenverbindungen


Geheimschrift des öffentlichen Schlüssels / Papst Gregory XI
Impressum & Datenschutz