Perché Unix è "autoportante"?


63

Stavo leggendo l'articolo di Ritchie e Thompson sul file system Unix. Scrivono: "Vale la pena notare che il sistema è totalmente autosufficiente". I sistemi prima di Unix non erano autoportanti? In che modo?


3
Vale la pena esaminare il discorso di FOSDEM 2018 sull'evoluzione Unix di Diomidis Spinellis; Mi è piaciuto anche il discorso di Liam Proven sul circuito meno percorso
Basile Starynkevitch,

5
Potrebbe anche valere la pena chiedere informazioni sui sistemi operativi non autoportanti su Retrocomputing , dove è probabile che tu ottenga risposte molto dettagliate.
Stephen Kitt,

5
Un altro termine per autoportante è self-hosting
Nayuki,

È altrettanto accurato chiamarlo autonomo, per le stesse ragioni per cui gli altri elencano. Non solo è possibile compilare un nuovo sistema (kernel, userland), ma di solito sono presenti le pagine di manuale e la documentazione, ad eccezione dei sistemi embedded / tiny.
user2497

Risposte:


96

La domanda nel tuo titolo viene affrontata immediatamente dopo la tua citazione nel documento :

Tutto il software Unix è gestito sul sistema; allo stesso modo, questo documento e tutti gli altri documenti in questo numero sono stati generati e formattati dall'editor Unix e dai programmi di formattazione del testo.

Quindi "autoportante" significa che una volta installato un sistema Unix, è autosufficiente e i suoi utenti possono usarlo per apportare modifiche al sistema stesso. "Questo numero" nella citazione sopra si riferisce alla Bell Technical Technical Journal, Volume 57, Numero 6, Parte 2, luglio-agosto 1978, che riguardava il sistema Unix (e rende la lettura affascinante per chiunque sia interessato a Unix e alla sua storia) .

Il fatto che Unix sia autoportante non significa che tutti gli altri sistemi prima non lo fossero; ma alcuni sistemi operativi richiedevano l'uso di altri sistemi per costruirli (questo divenne più comune più tardi, in effetti, con l'avvento dei microcomputer, i cui sistemi erano spesso sviluppati su minis). Unix era un romanzo in quanto includeva anche strumenti di composizione, il che significava che non solo poteva costruirsi da solo, ma anche produrre la sua documentazione, sia online che stampata (immagino che Unix potrebbe non essere il primo di questi sistemi, ma questo sarebbe stato meno insolito).


20
Gli strumenti di composizione ( roff) erano di fondamentale importanza per i primi Unix. Parte del finanziamento proveniva dalla promessa di produrre un sistema di composizione dei documenti.
Kusalananda

22
@Kusalananda IIRC, dai resoconti scritti del team originale Unix / C, hanno chiesto il permesso di lavorare su un piccolo sistema operativo semplificato perché Multix era così in ritardo ma non gli era stata data l'autorizzazione. Hanno quindi avuto il compito di sviluppare un sistema di gestione dei documenti (di cui la composizione tipografica era solo una parte, le altre parti includono il filesystem e l'editor di file) e un tipico hacker ha deciso di scrivere un sistema operativo per sviluppare il prodotto
slebetman

Multics, cioè
Artelius,

Ciò significa che i sistemi operativi basati su buildroot non sono più autoportanti perché il team ha rimosso gcc come app di destinazione?
tudor

Un compilatore C incluso non sarebbe la cosa più importante?
Faheem Mitha,

14

Il PDP-11 è stato realizzato da Digital Equipment Corporation e i sistemi operativi del produttore per il PDP-11 erano:

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

Di questi, almeno RSTS / E ha richiesto ancora un altro sistema operativo per generare il sistema. Era un sistema operativo su disco per utente singolo, chiamato DOS, ovviamente, che supportava solo nastri, dischi, un tipo di telefono, il sysgenprogramma che ti poneva domande sulla configurazione e creava file di configurazione in linguaggio assembly, un assemblatore e un linker. L'output del sysgenprogramma era un sistema operativo avviabile RSTS / E. Non posso parlare per RT-11 o RSX-11 in quanto non ho mai dovuto analizzarli, ma ho sistemato RSTS / E molte volte alla fine degli anni '70.

Hanno risolto tutto ciò con RSTS / E versione 6b o possibilmente 6c, che ospitava il sysgenprogramma stesso, tramite un sistema di runtime RT-11 (e aveva anche un sistema di runtime RSX-11), ma tutto ciò era continuato da allora 1968. Da qui l'enfasi sul fatto che Unix sia autosufficiente.


RT-11 infatti aveva sysgene funzionava allo stesso modo. Tuttavia, funzionava su un normale sistema RT-11 che era un singolo utente, sebbene esistesse un sistema di terze parti chiamato TSX-Plus che rendeva RT-11 multiutente.
Wallyk,

10

Per rispondere alla domanda originale Perché Unix è autoportante? è perché i sistemi che non sono stati auto-ospitati sono stati risucchiati.

Quando c'è un altro sistema necessario per sviluppare, il sistema risultante non ottiene l'attenzione necessaria per essere affidabile e accogliente e fruibile.

All'inizio della storia di Sequent , hanno usato i VAX per sviluppare il loro sistema operativo simile a Unix e altri componenti. Nella relativa la loro storia, i tecnici affermano con orgoglio che, non appena il loro prodotto era per lo più affidabile, il presidente della società ha contribuito a lanciare il VAX di distanza in modo che lo sviluppo doveva essere auto di hosting, e la società ha attribuito la de-VAXing come una pietra miliare con conseguente alta affidabilità e facilità d'uso.

Personalmente ho sperimentato diversi fastidiosi sistemi di sviluppo non self-hosting dagli anni '70: ISIS e iRMX che sono stati presumibilmente sviluppati su VAXen, anche se penso che iRMX potrebbe essere stato in gran parte self-hosting alla fine degli anni '80.


10
Questo è noto in modo informale come "mangiare il proprio cibo per cani". Era molto evidente negli anni '80 che i produttori di software facevano e non usavano i propri prodotti internamente.
user207421
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.