Warum ist Unix selbsttragend?

63

Ich habe Ritchie und Thompsons Artikel über das Unix-Dateisystem gelesen. Sie schreiben: "Es ist erwähnenswert, dass das System völlig selbsttragend ist." Waren die Systeme vor Unix nicht selbsttragend? Auf welche Weise?

aupreti
quelle
3
Es lohnt sich, einen Blick in den FOSDEM-Vortrag 2018 über Unix-Evolution von Diomidis Spinellis zu werfen. Ich habe auch Liam
Provens
5
Es könnte sich auch lohnen, nach nicht selbsttragenden Betriebssystemen für Retrocomputing zu fragen , auf denen Sie wahrscheinlich sehr detaillierte Antworten erhalten.
Stephen Kitt
5
Ein weiterer Begriff für Selbstversorger ist Self-Hosting
Nayuki
Es ist genauso genau, es als eigenständig zu bezeichnen, aus den gleichen Gründen, die andere auflisten. Es kann nicht nur ein neues System (Kernel, Benutzerland) kompiliert werden, sondern die Handbuchseiten und die Dokumentation sind normalerweise vorhanden, außer auf eingebetteten / winzigen Systemen.
user2497

Antworten:

97

Die Frage in Ihrem Titel wird sofort nach Ihrem Zitat in der Zeitung angesprochen :

Die gesamte Unix-Software wird auf dem System verwaltet. Ebenso wurden dieses Dokument und alle anderen Dokumente in dieser Ausgabe mit dem Unix-Editor und Textformatierungsprogrammen erstellt und formatiert.

"Selbsttragend" bedeutet also, dass ein einmal eingerichtetes Unix-System autark ist und seine Benutzer damit Änderungen am System selbst vornehmen können. "Diese Ausgabe" im obigen Zitat bezieht sich auf das Bell System Technical Journal, Band 57, Nummer 6, Teil 2, Juli-August 1978, das sich ausschließlich mit dem Unix-System befasste (und für jeden, der sich für Unix und seine Geschichte interessiert, eine faszinierende Lektüre bietet). .

Die Tatsache, dass Unix selbsttragend ist, bedeutet nicht, dass alle anderen Systeme zuvor nicht so waren. Einige Betriebssysteme erforderten jedoch die Verwendung anderer Systeme, um sie zu erstellen (dies wurde später, mit dem Aufkommen von Mikrocomputern, deren Systeme häufig auf Minis entwickelt wurden, immer häufiger). Unix war insofern neu, als es auch Satzwerkzeuge enthielt, was bedeutete, dass es nicht nur sich selbst erstellen, sondern auch seine Dokumentation sowohl online als auch in gedruckter Form erstellen konnte (ich stelle mir vor, dass Unix nicht das erste System dieser Art war, aber dies wäre der Fall gewesen) am wenigsten ungewöhnlich).

Stephen Kitt
quelle
20
Die Satzwerkzeuge ( roff) waren für frühe Unix-Versionen von entscheidender Bedeutung. Ein Teil der Mittel stammte aus dem Versprechen, ein System zum Setzen von Dokumenten zu entwickeln.
Kusalananda
22
@Kusalananda IIRC, aus schriftlichen Berichten des ursprünglichen Unix / C-Teams, baten sie um Erlaubnis, an einem kleinen vereinfachten Betriebssystem arbeiten zu dürfen, da Multix so spät war, aber keine Erlaubnis erhielt. Sie haben dann die Aufgabe , ein Dokumenten - Management - System zu entwickeln (davon Satz war nur ein Teil, die anderen Teile umfassen das Dateisystem und Dateieditor) eine in typischer Hacker - Mode entschieden , ein O zu schreiben , um das Produkt zu entwickeln
slebetman
Multics, das heißt
Artelius
Bedeutet das, dass Buildroot-basierte Betriebssysteme nicht mehr selbsttragend sind, weil das Team gcc als Ziel-App entfernt hat?
Tudor
Wäre ein eingebundener C-Compiler nicht das Wichtigste?
Faheem Mitha
14

Der PDP-11 wurde von Digital Equipment Corporation hergestellt, und die Betriebssysteme des Herstellers für den PDP-11 waren:

  • RT-11
  • RSX-11
  • RSTS / E

Von diesen erforderte mindestens RSTS / E noch ein anderes Betriebssystem, um das System zu erzeugen. Es war ein Single-Task-Single-User-Disk-Betriebssystem namens DOS, das nur Tape, Disks, einen Teletyp, das sysgenProgramm, mit dem Sie Konfigurationsfragen stellten und Konfigurationsdateien in Assemblersprache erstellten, sowie einen Assembler und einen Linker unterstützte. Die Ausgabe des sysgenProgramms war ein bootfähiges RSTS / E-Betriebssystem. Ich kann nicht für RT-11 oder RSX-11 sprechen, da ich sie nie sysgen musste, aber ich habe RSTS / E in den späten 1970ern oft sysgened.

Sie haben all das mit RSTS / E, Version 6b oder möglicherweise 6c, die das sysgenProgramm selbst hostete , über ein RT-11-Laufzeitsystem behoben (und hatten auch ein RSX-11-Laufzeitsystem), aber all dies war bis dahin seit ungefähr 1968. Daher die Betonung, dass Unix selbsttragend ist.

user207421
quelle
RT-11 hatte sysgenund arbeitete tatsächlich genauso. Es lief jedoch auf einem normalen RT-11-System, das ein einzelner Benutzer war, obwohl es ein Drittanbietersystem namens TSX-Plus gab, das RT-11 zu einem Mehrbenutzer- System machte.
Wallyk
10

So beantworten Sie die ursprüngliche Frage: Warum ist Unix selbsttragend? Das liegt daran, dass Systeme, die sich nicht selbst hosten, sozusagen gesaugt wurden.

Wenn es ein anderes System ist erforderlich zu entwickeln, das resultierende System erhält nicht die nötige Aufmerksamkeit zuverlässig zu sein und freundlich und nutzbar.

Zu Beginn der Sequent- Geschichte verwendeten sie VAX, um ihr Unix-ähnliches Betriebssystem und andere Komponenten zu entwickeln. Die Ingenieure sind stolz darauf, dass, sobald ihr Produkt größtenteils zuverlässig war, der Firmenpräsident dazu beigetragen hat, die VAXs wegzurollen, sodass die Entwicklung selbst gehostet werden musste , und das Unternehmen die VAX-Entfernung als wichtigen Meilenstein bezeichnete hohe Zuverlässigkeit und Bedienerfreundlichkeit.

Ich persönlich habe in den 1970er Jahren einige nervige Entwicklungssysteme erlebt, die sich nicht selbst hosten: ISIS und iRMX, die angeblich auf VAXen entwickelt wurden, obwohl ich glaube, dass iRMX in den späten 1980er Jahren größtenteils selbst gehostet hat.

wallyk
quelle
10
Dies ist informell als "Essen Sie Ihr eigenes Hundefutter" bekannt. In den 1980er Jahren war sehr offensichtlich, welche Softwarehersteller ihre eigenen Produkte intern verwendeten und welche nicht.
user207421