Por que o Unix é 'auto-sustentável'?

63

Eu estava lendo o artigo de Ritchie e Thompson sobre o sistema de arquivos Unix. Eles escrevem: 'Vale a pena notar que o sistema é totalmente autossustentável'. Os sistemas antes do Unix não eram auto-suficientes? De que maneiras?

aupreti
fonte
3
Vale a pena olhar para a palestra do FOSDEM 2018 sobre evolução do Unix de Diomidis Spinellis; Eu também gostava de Liam comprovada o circuito menos percorrida talk
Basile Starynkevitch
5
Também vale a pena perguntar sobre sistemas operacionais não autossustentáveis em Retrocomputação , onde é provável que você obtenha respostas muito detalhadas.
Stephen Kitt
5
Outro termo para auto-suporte é auto-hospedagem
Nayuki:
É igualmente preciso chamá-lo independente, pelas mesmas razões que outras pessoas listam. Não apenas um novo sistema (kernel, terra do usuário) pode ser compilado, mas as páginas e a documentação do manual geralmente estão presentes, exceto em sistemas embarcados / pequenos.
user2497

Respostas:

97

A pergunta em seu título é abordada imediatamente após sua citação no documento :

Todo o software Unix é mantido no sistema; Da mesma forma, este documento e todos os outros documentos desta edição foram gerados e formatados pelo editor Unix e pelos programas de formatação de texto.

Portanto, “auto-sustentável” significa que, uma vez que um sistema Unix é configurado, ele é auto-suficiente e seus usuários podem usá-lo para fazer alterações no próprio sistema. “Esta edição” na citação acima refere-se ao Jornal Técnico do Sistema Bell, Volume 57, Número 6, Parte 2, julho-agosto de 1978, que tratava do sistema Unix (e faz uma leitura fascinante para qualquer pessoa interessada no Unix e sua história) .

O fato de o Unix ser autossuficiente não significa todos os outros sistemas antes; mas alguns sistemas operacionais exigiram o uso de outros sistemas para construí-los (isso se tornou mais comum posteriormente, de fato, com o advento dos microcomputadores, cujos sistemas eram freqüentemente desenvolvidos em minis). O Unix era inovador, pois também incluía ferramentas de digitação, o que significava que não só poderia se construir, mas também produzir sua documentação, on-line e impressa (imagino que o Unix talvez não seja o primeiro sistema desse tipo, mas isso seria menos incomum).

Stephen Kitt
fonte
20
As ferramentas de composição ( roff) foram de crucial importância para o início do Unix. Parte do financiamento veio da promessa de produzir um sistema de composição de documentos.
Kusalananda
22
O @Kusalananda IIRC, de contas escritas da equipe original do Unix / C, pediu permissão para trabalhar em um pequeno sistema operacional simplificado porque o Multix estava atrasado, mas não recebeu permissão. Eles então começaram o trabalho de desenvolver um sistema de gerenciamento de documentos (dos quais a composição de texto era apenas uma parte, as outras partes incluem o sistema de arquivos e o editor de arquivos) e, da maneira típica dos hackers, decidiram escrever um sistema operacional para desenvolver o produto
slebetman
Multics, isso é #
Artelius 20/02/19
Isso significa que os SOs baseados em buildroot não são mais autossustentáveis ​​porque a equipe removeu o gcc como um aplicativo de destino?
Tudor
Um compilador C incluído não seria a coisa mais importante?
Faheem Mitha
14

O PDP-11 foi fabricado pela Digital Equipment Corporation, e os sistemas operacionais do fabricante para o PDP-11 foram:

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

Destes, pelo menos o RSTS / E exigia outro sistema operacional para gerar o sistema. Era um sistema operacional de disco de tarefa única e usuário único, chamado DOS, que suportava apenas fitas, discos, um tipo de teletipo, o sysgenprograma que fazia perguntas sobre a configuração e criava arquivos de configuração em linguagem assembly, além de um montador e vinculador. A saída do sysgenprograma foi um sistema operacional inicializável RSTS / E. Não posso falar pelo RT-11 ou RSX-11, pois nunca precisei sysgen eles, mas sysgen'd RSTS / E muitas vezes no final da década de 1970.

Eles consertaram tudo isso pelo RSTS / E versão 6b ou possivelmente 6c, que hospedava o sysgenpróprio programa, por meio de um sistema de tempo de execução RT-11 (e também possuía um sistema de tempo de execução RSX-11), mas tudo isso estava acontecendo desde então. 1968. Daí a ênfase no Unix ser auto-sustentável.

user207421
fonte
O RT-11 realmente sysgenfuncionou da mesma maneira. No entanto, ele rodava em um sistema RT-11 regular, que era usuário único, embora houvesse um sistema de terceiros chamado TSX-Plus que tornava o RT-11 multiusuário.
21818 wallyk
10

Para responder à pergunta original Por que o Unix é auto-sustentável? é porque os sistemas que não eram auto-hospedeiros eram uma droga.

Quando há um outro sistema necessário para se desenvolver, o sistema resultante não recebe a atenção necessária para ser confiável e amigável e útil.

No início da história da Sequent , eles usaram o VAX para desenvolver seu sistema operacional semelhante ao Unix e outros componentes. Ao relatar sua história, os engenheiros afirmam orgulhosamente que, assim que seu produto era mais confiável, o presidente da empresa ajudou a transferir os VAXes para que o desenvolvimento tivesse que ser auto-hospedado, e a empresa atribuiu o de-VAXing como um marco importante, resultando em alta confiabilidade e facilidade de uso.

Pessoalmente, experimentei vários sistemas de desenvolvimento irritantes e que não hospedavam a partir da década de 1970: ISIS e iRMX, que foram reputadamente desenvolvidos no VAXen, embora eu ache que a iRMX possa ter sido amplamente hospedada no final da década de 1980.

Wallyk
fonte
10
Isso é conhecido informalmente como "comer sua própria comida de cachorro". Era evidente na década de 1980 que os fabricantes de software usavam e não usavam seus próprios produtos internamente.
user207421