Inferno (Betriebssystem)
![]() Inferno 4. Ausgabe | |
Entwickler | Bell Labs, Vita Nuova Holdings |
---|---|
Geschrieben in | C,[1] Limbo |
Arbeitszustand | Aktuell |
Quellmodell | Open Source |
Erstveröffentlichung | 1996 |
Neueste Erscheinung | 4. Ausgabe / 28. März 2015 |
Repository | |
Verfügbar in | Englisch |
Plattformen | ARM, Pa-risc, MIPS, Powerpc, Sparc, x86 |
Kernel Typ | Virtuelle Maschine (Dis) |
Lizenz | 2021: MIT[2][3] 2005: Dual[a][4][5] 2003: Dual[b][6][7][8][9] 2000: Inferno[c][10] Original: Proprietär |
Vorausgegangen von | Plan 9 |
Offizielle Website | www |
Inferno ist ein verteiltes Betriebssystem fing an bei Bell Labs und jetzt entwickelt und aufrechterhalten von Vita Nuova Holdings als gratis Software unter dem MIT -Lizenz.[2][3] Inferno basierte auf der Erfahrung, die mit gesammelt wurde Plan 9 von Bell Labsund die weitere Erforschung von Bell-Labors in Betriebssysteme, Sprachen, Compiler im Fliege, Grafik, Sicherheit, Netzwerk und Portabilität. Der Name des Betriebssystems, viele seiner damit verbundenen Programme und der des aktuellen Unternehmens wurden von inspiriert von Dante Alighieri's Göttliche Komödie. Auf Italienisch, Inferno meint "Hölle", von denen es in Dantes neun Kreise gibt Göttliche Komödie.
Design-Prinzipien
Inferno wurde 1995 von Mitgliedern von gegründet Bell Labs'Informatik Research Division, um Ideen aus ihrem früheren Betriebssystem abzugeben, Plan 9 von Bell Labs, an eine breitere Palette von Geräten und Netzwerken. Inferno ist a verteiltes Betriebssystem Basierend auf drei Grundprinzipien:
- Ressourcen als Dateien: alle Ressourcen werden als Dateien in a dargestellt Hierarchisch Dateisystem
- Namespaces: Die Sicht eines Programms auf das Netzwerk ist eine einzelne, kohärente Namespace Dies erscheint als hierarchisches Dateisystem, kann jedoch physikalisch getrennte (lokal oder ferngestellte) Ressourcen darstellen
- Standard -Kommunikationsprotokoll: Ein Standardprotokoll, genannt Styx, wird verwendet, um auf alle lokalen und entfernten Ressourcen zuzugreifen
Um die Vielfalt der Netzwerkumgebungen zu bewältigen, die verwendet werden sollte, entschieden die Designer a virtuelle Maschine (VM) war ein notwendiger Bestandteil des Systems. Dies ist die gleiche Schlussfolgerung des Eichenprojekts, das geworden ist Javakam aber unabhängig an. Das Dis virtuelle Maschine ist ein Registrieren Sie Maschine beabsichtigt, der Architektur, auf der sie ausgeführt wird, im Gegensatz zum Architektur genau übereinstimmen Stapelmaschine des Java virtuelle Maschine. Ein Vorteil dieses Ansatzes ist die relative Einfachheit der Schaffung a Just-in-Time-Compiler Für neue Architekturen.
Die virtuelle Maschine bietet eine Speicherverwaltung, die so konzipiert ist, dass sie auf Geräten mit nur 1 MIB Speicher und ohne Speicherhardware effizient ist. Es ist Müllsammler ist eine Referenzzählung und ein Echtzeit-Malbuchkollektor, der zyklische Daten sammelt.[11]
Der Inferno-Kernel enthält die virtuelle Maschine, den Compiler im Fliege, den Scheduler, die Geräte, die Protokollstapel und den Namensspace Evaluator für jeden Dateinamen Speicherplatz für jeden Prozess und das Root der Dateisystem-Hierarchie. Der Kernel enthält auch einige integrierte Module, die Schnittstellen des virtuellen Betriebssystems bereitstellen, z. B. Systemanrufe, Grafiken, Sicherheit und mathematische Module.
Das Bell Labs Technical Journal Paper mit Inferno listete mehrere Dimensionen der Portabilität und Vielseitigkeit des Betriebssystems auf:[12]
- Portabilität zwischen Prozessoren: Derzeit wird ausgeführt ARM, SGI MIPS, HP Pa-risc, IBM Powerpc, Sonne Sparcund Intel x86 Architekturen und ist für andere leicht tragbar.
- Portabilität über Umgebungen hinweg: Es wird als eigenständiges Betriebssystem für kleine Terminals und auch als Benutzeranwendung unter Bell ausgeführt Plan 9, FRAU Windows NT, Windows 95, und Unix (SGI Irrix, Sonne Solaris, Freebsd, Apfel Mac OS X, Linux, IBM AIX, HP-UX, Digital Tru64). In all diesen Umgebungen sehen Inferno -Programme eine identische Schnittstelle.
- Distributed Design: Die identische Umgebung wird am Terminal des Benutzers und am Server festgelegt, und jeder kann die Ressourcen (z. B. die angehängten E/A -Geräte oder -Netzwerke) des anderen importieren. Unterstützung durch die Kommunikationseinrichtungen des Laufzeitsystems können problemlos (und sogar dynamisch) zwischen Client und Server aufgeteilt werden.
- Minimale Hardwareanforderungen: Es wird nützliche Anwendungen für Maschinen mit nur 1 MIB Speicher ausgeführt und benötigt nicht Speichermapping Hardware.
- Tragbare Programme: Inferno -Programme sind in der geschrieben Typ-sicherer Sprache Limbo und zusammengestellt zu Dis Bytecode, das ohne Änderungen auf allen Inferno -Plattformen ausgeführt werden kann.
- Dynamische Anpassungsfähigkeit: Laden Sie die Programme abhängig von der Hardware oder anderen verfügbaren Ressourcen verschiedene Programmmodule, um eine bestimmte Funktion auszuführen. Beispielsweise kann ein Videoplayer mehrere verschiedene Decodermodule verwenden.
Diese Entwurfsmöglichkeiten wurden angewiesen, Standardschnittstellen bereitzustellen, die kostenlose Inhalte und Dienstanbieter von den Angaben zu den Details der verschiedenen Hardware, Software und Netzwerke, über die ihre Inhalte geliefert werden, von Anliegen bereitgestellt werden.
Merkmale
Inferno -Programme sind in einer breiten Mischung aus Hardware, Netzwerken und Umgebungen tragbar. Es definiert a virtuelle Maschine, bekannt als Dis, das kann auf jeder realen Maschine implementiert werden, bietet Limbo, a Typ-Safe Die Sprache, die mit tragbarem Byte -Code zusammengestellt wird, und im Allgemeinen ein virtuelles Betriebssystem enthält, das die gleichen Schnittstellen liefert, ob Inferno nativ auf Hardware oder als Benutzerprogramm über ein anderes Betriebssystem ausgeführt wird.
A Kommunikationsprotokoll genannt Styx wird einheitlich angewendet, um sowohl lokale als auch Remote -Ressourcen zuzugreifen, die Programme verwenden, indem sie Standarddateivorgänge aufrufen, öffnen, lesen, schreiben und schließen. Ab der vierten Ausgabe von Inferno ist Styx identisch mit Plan 9neuere Version seines Markenzeichens 9p Protokoll, 9p2000.
Die meisten Inferno -Befehle sind sehr ähnlich zu UNIX -Befehle mit dem gleichen Namen.[13]
Geschichte

Inferno ist ein Nachkomme von Plan 9 von Bell Labsund teilt viele Designkonzepte und sogar Quellcode im Kernel, insbesondere im Rahmen von Geräten und im 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 in die Schwebe übersetzt wurden.
Mitte der neunziger Jahre wurde die Entwicklung von Plan 9 zugunsten von Inferno beiseite gelegt.[14]Die Existenz des neuen Systems wurde von Dennis Ritchie Anfang 1996 nach weniger als einem Jahr der Entwicklung des Systems durchgesickert und später in diesem Jahr öffentlich als Konkurrent Java präsentiert. Gleichzeitig die Muttergesellschaft von Bell Labs 'Mutter AT&T lizenzierte Java -Technologie von Sun Microsystems.[15]
Von März - April 1997 IEEE Internet Computing Enthält eine Anzeige für Inferno -Networking -Software. Es wurde behauptet, dass verschiedene Geräte über "jedes Netzwerk" kommunizieren könnten, einschließlich Internet, Telekommunikation und Lans. Die Anzeige gab an, dass Videospiele mit Computern sprechen könnten, –a Playstation Wurde abgebildet - Zell -Telefone konnten auf E -Mails zugreifen und Voicemail war per Fernsehen verfügbar.
Lucent Verwendet Inferno in mindestens zwei internen Produkten: dem Lucent VPN -Firewall -Ziegel und dem Lucent Pathstar -Telefonschalter. Sie versuchten zunächst, Quellcode -Lizenzen von Inferno zu verkaufen, fanden jedoch nur wenige Käufer. Lucent markierte wenig Marketing und verpasste die Bedeutung des Internets und in Infernos Beziehung dazu. Gleichzeitig Sun Microsystems war stark seine eigene Marketing Java -Programmiersprache, was auf einen ähnlichen Markt mit analoge Technologie abzielte, in dem es funktioniert hat Internetbrowser und erfüllte auch die Nachfrage nach objektorientierte Sprachen Zu dieser Zeit beliebt. Lucent lizenzierte Java von Sun und behauptete, dass alle Inferno -Geräte für Java geleitet werden würden. Ein Java -Byte -Code zum Dis -Byte -Code -Übersetzer wurde geschrieben, um dies zu erleichtern. Inferno fand jedoch immer noch keine Kunden.
Die Inferno -Geschäftseinheit schloss nach drei Jahren und wurde an Vita Nuova Holdings verkauft. Vita Nuova setzte die Entwicklung fort und bot dem gesamten System Handelslizenzen sowie kostenlose Downloads und Lizenzen an (nicht (nicht Gpl kompatibel) für das gesamte System außer dem Kernel und VM. Sie portierten die Software auf neue Hardware und konzentrierten sich auf verteilte Anwendungen. Schließlich veröffentlichte Vita Nuova die 4. Ausgabe unter gemeinsamer gratis Software Lizenzen, und im Jahr 2021 haben sie alle Ausgaben unter hauptsächlich der nachgebildet MIT -Lizenz.[6][2][3]
Datum | Veröffentlichung | Kommentar |
---|---|---|
1996 | Inferno Beta | Veröffentlicht von Bell Labs |
Mai 1997 | Inferno Release 1.0 | Winter 1997 Bell Labs Technical Journal Artikel |
Juli 1999 | Inferno 2. Auflage | Veröffentlicht von Lucents Inferno Business Unit |
Juni 2001 | Inferno 3. Auflage | Freigegeben von Vita Nuova |
2004 | Inferno 4. Ausgabe | Open Source -Release; Änderungen an vielen Schnittstellen (inkompatibel mit früheren Ausgaben); Beinhaltet Unterstützung für 9p2000. |
Häfen
Inferno läuft direkt auf native Hardware und auch als Anwendung, die ein virtuelles Betriebssystem bereitstellt, das auf anderen Plattformen ausgeführt wird. Programme können auf allen Inferno -Plattformen entwickelt und ausgeführt werden, ohne zu ändern oder neu zu kompilieren.
Native Ports umfassen diese Architekturen: x86, MIPS, ARM, Powerpc, Sparc.
Gehostete oder virtuelle Betriebssystem -Ports umfassen: Microsoft Windows, Linux, Freebsd, Plan 9, Mac OS X, Solaris, Irrix, Unixware.
Inferno kann auch von a gehostet werden Plugin zu Internet Explorer.[16] Vita Nuova sagte, dass Plugins für andere Browser in der Entwicklung waren, aber nie freigelassen wurden.[17]
Inferno wurde ebenfalls portiert OpenMoko,[18] Nintendo ds,[19][20] SheevaPlug,[21] und Android.[22]
Verteilung
Inferno 4. Ausgabe wurde Anfang 2005 als veröffentlicht gratis Software. Insbesondere war es Dual-Lizenz unter zwei Strukturen.[6] Benutzer könnten es entweder unter einem Satz von erhalten Kostenlose Softwarelizenzenoder sie könnten es unter einer proprietären Lizenz erhalten. Im Falle des Lizenzschemas für kostenlose Software wurden verschiedene Teile des Systems durch verschiedene Lizenzen abgedeckt, einschließlich der GNU Allgemeine öffentliche Lizenz, das Gnu weniger allgemeine öffentliche Lizenz, das Lucent Public Lizenz, und die MIT -Lizenzmit Ausnahme der Schriftarten, die von Bigelow und Holmes unterlizenziert sind.
Im März 2021 wurden alle Ausgaben unter hauptsächlich der unterliefen MIT -Lizenz.[2][3]
Siehe auch
Anmerkungen
Verweise
- ^ Dorward, Sean; Pike, Rob; Presotto, David Leo; Ritchie, Dennis M.; Trizeke, Howard; Winterbottom, Phil (1997). "Das Inferno -Betriebssystem". Inferno -Dokumentation. Vita Nuova. Abgerufen 2014-05-02.
- ^ a b c d "Inferno -Lizenzbegriffe". Archiviert vom Original am 2021-04-27. Abgerufen 2021-06-17.
MIT
- ^ a b c d "Inferno-Os-Bitbucket". Abgerufen 2021-06-17.
- ^ "Inferno -Lizenzbegriffe". Archiviert von das Original am 2005-08-11. Abgerufen 2021-06-17.
Das kostenlose Softwareprogramm "und" Commercial Developer Lizenz
- ^ "Vita Nuova Commercial Developer Lizenz - 9. November 2005". Archiviert von das Original am 2006-05-02. Abgerufen 2021-06-17.
- ^ a b c "Inferno -Lizenzbegriffe". Archiviert von das Original Am 2003-10-26. Abgerufen 2021-06-17.
Lizenz für liberale Quelllizenz von Vita Nuova "und" Vita Nuova Commercial Developer Lizenz
- ^ "Vita Nuova Liberale Quelllizenz - 29. Mai 2003". Archiviert von das Original am 2005-04-05. Abgerufen 2021-06-17.
- ^ "Vita Nuova Liberale Quelllizenz - 14. Mai 2003". Archiviert von das Original Am 2004-02-23. Abgerufen 2021-06-17.
- ^ "Vita Nuova Commercial Developer Lizenz - 22. April 2003". Archiviert von das Original Am 2004-06-25. Abgerufen 2021-06-17.
- ^ "Vita Nuova Inferno -Abonnementlizenz". Archiviert von das Original Am 2000-12-08. Abgerufen 2021-06-17.
- ^ Huelsbergen, Lorenz; Winterbottom, Phil. "Sehr gleichzeitige Marke und Müllsammlung ohne feinkörnige Synchronisation" (PDF).
{{}}
: Journal zitieren erfordert|journal=
(Hilfe) - ^ "Das Inferno -Betriebssystem" (Papiere). Vita Nuova Holdings.
{{}}
: Journal zitieren erfordert|journal=
(Hilfe) - ^ "Inferno - 1".
- ^ Pontin, Jason (19. Februar 1996). "AT & T enthüllt Pläne für Java -Konkurrent". InfoWorld. p. 3.
- ^ Hayes, Frank (19. Februar 1996). "Bell Labs Inferno zielt darauf ab, mit Java mithalten zu können". Computerwelt. p. 6.
- ^ "Unterstützen Code, damit Inferno in verschiedenen Browsern als Plugin fungiert".
- ^ Plugins, Vita Nuova.
- ^ "Inferno -OpenMoko - Inferno für OpenMoko Neo Freerunner - Google Project Hosting". Abgerufen 2012-06-04.
- ^ "Inferno -Ds - Inferno -Kernel für das Nintendo DS - Google Project Hosting". Abgerufen 2012-06-04.
- ^ "Inferno-Ds: Native Inferno-Kernel für den Nintendo DS". bitbucket.org. Archiviert von das Original Am 2017-08-23. Abgerufen 2018-03-17.
- ^ "Inferno -Kirkwood - Inferno für das Marvell Kirkwood/Sheevaplug - Google Project Hosting". Abgerufen 2012-06-04.
- ^ Floren (2011-09-29). "Floren: Inferno: Wiki". Bitbucket.org. Abgerufen 2012-06-04.
Weitere Lektüre
- Stanley-Marbell, Phillip (2003). Inferno -Programmierung mit Schwebe. Chichester: John Wiley & Sons. ISBN 0-470-84352-7. Beschreibt die 3. Ausgabe des Inferno -Betriebssystems, obwohl es sich mehr auf die Limbo -Sprache und seine Schnittstellen zum Inferno -System konzentriert als auf das Inferno -System selbst. Beispiel Befehlsschale, was verständlich ist, da es sich um ein Lehrbuch für Programmiersprache handelt.
- Stuart, Brian (2008). Prinzipien der Betriebssysteme: Design und Anwendungen. Kurs Technologie. ISBN 978-1-4188-3769-3., verwendet Inferno, um Beispiele für das Design des Betriebssystems zu gestalten.
- Atkins, Martin;Forsyth, Charles; Pike, Rob;Trizeke, Howard."Das Inferno -Programmierbuch: Eine Einführung in die Programmierung für das Inferno -verteilte System".
{{}}
: Journal zitieren erfordert|journal=
(Hilfe) sollte einen operativ-systemorientierten Standpunkt liefern, wurde aber nie fertiggestellt.
Externe Links
- Dokumentationspapiere Für die neueste Inferno -Veröffentlichung.
- Inferno Vierter Ausgabe herunterladen, einschließlich Quellcode.
- Mailingliste und andere Ressourcen.
- Neun Mal: Nachrichten und Artikel über Inferno, Plan 9 und verwandte Technologien.
- Notebook des Inferno -Programmierers - Ein Tagebuch, der von einem Inferno -Entwickler hergestellt wurde.
- Versuchen Sie Inferno: Kostenloser Zugriff auf ein lebendes Inferno-System im Browser.
- Inferno OS zu Raspberry Pi Labors: Portierung in Inferno -Betriebssystem auf Raspberry Pi