Dlaczego Unix jest „samonośny”?

63

Czytałem artykuł Ritchiego i Thompsona na temat systemu plików Unix. Piszą: „Warto zauważyć, że system jest całkowicie samowystarczalny”. Czy systemy sprzed Uniksa nie były samonośne? W jaki sposób?

aupreti
źródło
3
Warto przyjrzeć się wykładowi FOSDEM 2018 na temat ewolucji Unixa autorstwa Diomidisa Spinellisa; Podobało mi się też opowiadanie
Liama ​​Provena
5
Warto również zapytać o nieobsługujące systemy operacyjne w Retrocomputing , gdzie prawdopodobnie uzyskasz bardzo szczegółowe odpowiedzi.
Stephen Kitt
5
Innym terminem określającym samopodtrzymanie jest samoobsługa
Nayuki,
Równie dokładne jest nazywanie go samodzielnym, z tych samych powodów, które wymieniają inni. Nie tylko można skompilować nowy system (jądro, przestrzeń użytkownika), ale strony podręcznika i dokumentacja są zwykle obecne, z wyjątkiem systemów osadzonych / małych.
user2497

Odpowiedzi:

97

Pytanie w twoim tytule jest adresowane natychmiast po cytacie w pracy :

Całe oprogramowanie Unix jest utrzymywane w systemie; podobnie ten papier i wszystkie inne dokumenty w tym wydaniu zostały wygenerowane i sformatowane przez edytor uniksowy i programy do formatowania tekstu.

Tak więc „samonośny” oznacza, że ​​po skonfigurowaniu systemu uniksowego jest samowystarczalny, a jego użytkownicy mogą go używać do wprowadzania zmian w samym systemie. „Ten problem” w powyższym cytacie odnosi się do Bell System Technical Journal, tom 57, numer 6, część 2, od lipca do sierpnia 1978 r., Który dotyczył systemu uniksowego (i stanowi fascynującą lekturę dla wszystkich zainteresowanych Unixem i jego historią) .

Fakt, że Unix jest samonośny, nie znaczy, że wszystkie inne systemy nim nie były; ale niektóre systemy operacyjne wymagały użycia innych systemów do ich budowy (stało się to bardziej powszechne później, wraz z pojawieniem się mikrokomputerów, których systemy często opracowywano na urządzeniach mini). Unix był nowatorski, ponieważ zawierał również narzędzia do składania tekstu, co oznaczało, że mógł nie tylko sam się budować, ale także tworzyć swoją dokumentację, zarówno online, jak i drukowaną (wyobrażam sobie, że Unix może nie być pierwszym takim systemem, ale byłoby to możliwe najmniej niezwykłe).

Stephen Kitt
źródło
20
Narzędzia składu ( roff) były niezwykle ważne dla wczesnego Uniksa. Część środków pochodziła z obiecania stworzenia systemu składu dokumentów.
Kusalananda
22
@Kusalananda IIRC, z pisemnych kont oryginalnego zespołu Unix / C, poprosili o pozwolenie na pracę na małym uproszczonym systemie operacyjnym, ponieważ Multix był tak późno, ale nie otrzymał pozwolenia. Następnie dostali zadanie opracowania systemu zarządzania dokumentami (którego skład był tylko częścią, pozostałe elementy to system plików i edytor plików), w typowy sposób hakerów postanowił napisać system operacyjny w celu opracowania produktu
Slebetman,
Multics, czyli
Artelius
Czy to oznacza, że ​​systemy operacyjne oparte na buildroot nie są już samonośne, ponieważ zespół usunął gcc jako aplikację docelową?
tudor
Czy dołączony kompilator C nie byłby najważniejszy?
Faheem Mitha
14

PDP-11 został wyprodukowany przez Digital Equipment Corporation, a systemy operacyjne producenta dla PDP-11 to:

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

Spośród nich przynajmniej RSTS / E wymagało jeszcze jednego systemu operacyjnego do wygenerowania systemu. Był to jednoprocesorowy system operacyjny dysku dla jednego użytkownika, zwany oczywiście DOS, który obsługiwał niewiele oprócz taśm, dysków, teletype, sysgenprogramu, który zadawał pytania konfiguracyjne i tworzył pliki konfiguracyjne w języku asemblera oraz asemblera i konsolidatora. sysgenWynikiem działania programu był rozruchowy system operacyjny RSTS / E. Nie mogę mówić za RT-11 ani RSX-11, ponieważ nigdy nie musiałem ich sysgenować, ale sysgen'd RSTS / E wiele razy pod koniec lat siedemdziesiątych.

Naprawili to wszystko za pomocą RSTS / E w wersji 6b lub ewentualnie 6c, która hostowała sysgensam program, za pośrednictwem systemu uruchomieniowego RT-11 (a także miała system wykonawczy RSX-11), ale wszystko to trwało od tego czasu 1968. Stąd nacisk na samopodtrzymanie Uniksa.

użytkownik207421
źródło
RT-11 rzeczywiście miał sysgeni działał w ten sam sposób. Jednak działał on na zwykłym systemie RT-11, który był pojedynczym użytkownikiem, chociaż istniał system innej firmy o nazwie TSX-Plus, który powodował, że RT-11 był dla wielu użytkowników.
wallyk
10

Aby odpowiedzieć na oryginalne pytanie Dlaczego Unix jest samonośny? dzieje się tak dlatego, że systemy, które nie były hostami, były do ​​bani.

Gdy nie ma innego systemu potrzebne do opracowania, powstały układ nie uzyskać potrzebne uwaga będzie niezawodny i przyjazny i użyteczny.

Na początku historii Sequent używali VAX-ów do rozwijania systemu operacyjnego podobnego do Uniksa i innych komponentów. Opowiadając o swojej historii, inżynierowie z dumą stwierdzają, że gdy tylko ich produkt był w większości niezawodny, prezes firmy pomógł zlikwidować VAXy, tak aby rozwój musiał odbywać się na własnym serwerze, a firma uznała de-VAXing za kamień milowy, którego rezultatem był wysoka niezawodność i łatwość prowadzenia.

Osobiście doświadczyłem kilku irytujących, nieobsługujących hostingu systemów z lat siedemdziesiątych: ISIS i iRMX, które podobno zostały opracowane na VAXen, chociaż myślę, że iRMX mógł być w dużej mierze samoobsługowy pod koniec lat osiemdziesiątych.

wallyk
źródło
10
Nazywa się to nieformalnie „jedzeniem własnego jedzenia dla psów”. W latach 80. było bardzo widoczne, że twórcy oprogramowania robili i nie używali własnych produktów wewnętrznie.
user207421