¿Por qué es Unix 'autosuficiente'?


63

Estaba leyendo el artículo de Ritchie y Thompson sobre el sistema de archivos Unix. Escriben: "Vale la pena señalar que el sistema es totalmente autosuficiente". ¿Los sistemas anteriores a Unix no eran autosuficientes? ¿De qué maneras?


3
Vale la pena mirar la charla FOSDEM 2018 sobre la evolución de Unix por Diomidis Spinellis; También disfruté la charla menos transitada de Liam Proven
Basile Starynkevitch

55
También podría valer la pena preguntar sobre sistemas operativos no autosuficientes en Retrocomputing , donde es probable que obtenga respuestas muy detalladas.
Stephen Kitt

55
Otro término para autoportante es autoalojamiento
Nayuki

Es igualmente preciso llamarlo autónomo, por las mismas razones que otros enumeran. No solo se puede compilar un nuevo sistema (kernel, userland), sino que las páginas del manual y la documentación generalmente están presentes, excepto en sistemas integrados / pequeños.
user2497

Respuestas:


96

La pregunta en su título se aborda inmediatamente después de su cita en el documento :

Todo el software de Unix se mantiene en el sistema; asimismo, este documento y todos los demás documentos en este número fueron generados y formateados por el editor de Unix y los programas de formato de texto.

Por lo tanto, "autosuficiente" significa que una vez que se configura un sistema Unix, es autosuficiente y sus usuarios pueden usarlo para realizar cambios en el sistema mismo. “Este problema” en la cita anterior se refiere al Diario Técnico de Bell System, Volumen 57, Número 6, Parte 2, julio-agosto de 1978, que trataba sobre el sistema Unix (y hace una lectura fascinante para cualquier persona interesada en Unix y su historia) .

El hecho de que Unix sea autosuficiente no significa todos los demás sistemas antes de que no lo fuera; pero algunos sistemas operativos requirieron el uso de otros sistemas para construirlos (esto se hizo más común más tarde, de hecho, con el advenimiento de las microcomputadoras, cuyos sistemas a menudo se desarrollaron en minis). Unix era novedoso en el sentido de que también incluía herramientas de composición tipográfica, lo que significaba que no solo podía construirse solo, sino también producir su documentación, tanto en línea como impresa (imagino que Unix podría no ser el primer sistema de este tipo, pero esto habría sido en menos inusual).


20
Las herramientas de composición tipográfica ( roff) fueron de vital importancia para principios de Unix. Parte de la financiación provino de la promesa de producir un sistema de composición tipográfica de documentos.
Kusalananda

22
@Kusalananda IIRC, de cuentas escritas del equipo original de Unix / C, pidieron permiso para trabajar en un pequeño sistema operativo simplificado porque Multix llegó muy tarde pero no se les dio permiso. Luego obtuvieron el trabajo de desarrollar un sistema de administración de documentos (de los cuales la composición tipográfica era solo una parte, las otras partes incluyen el sistema de archivos y el editor de archivos) y, de manera típica, los hackers decidieron escribir un sistema operativo para desarrollar el producto
slebetman

Multics, es decir
Artelius

¿Eso significa que los sistemas operativos basados ​​en buildroot ya no son autosuficientes porque el equipo eliminó gcc como una aplicación objetivo?
Tudor

¿No sería un compilador de C incluido lo más importante?
Faheem Mitha

14

El PDP-11 fue fabricado por Digital Equipment Corporation, y los sistemas operativos del fabricante para el PDP-11 fueron:

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

De estos, al menos RSTS / E requería otro sistema operativo más para generar el sistema. Era un sistema operativo de disco de una sola tarea para un solo usuario, llamado DOS, por supuesto, que admitía poco más que cinta, discos, un teletipo, el sysgenprograma que le hacía preguntas de configuración y creaba archivos de configuración en lenguaje ensamblador, y un ensamblador y enlazador. El resultado del sysgenprograma fue un sistema operativo de arranque RSTS / E. No puedo hablar por RT-11 o RSX-11 ya que nunca tuve que usar sysgen, pero utilicé RSTS / E muchas veces a fines de la década de 1970.

Arreglaron todo eso mediante RSTS / E versión 6b o posiblemente 6c, que alojaba el sysgenprograma en sí, a través de un sistema de tiempo de ejecución RT-11 (y también tenía un sistema de tiempo de ejecución RSX-11), pero todo esto había estado sucediendo desde entonces aproximadamente 1968. De ahí el énfasis en que Unix sea autosuficiente.


RT-11 efectivamente lo hizo sysgeny funcionó de la misma manera. Sin embargo, funcionaba en un sistema RT-11 normal que era de un solo usuario, aunque había un sistema de terceros llamado TSX-Plus que hacía que RT-11 fuera multiusuario.
wallyk

10

Para responder a la pregunta original ¿ Por qué Unix es autosuficiente? se debe a que los sistemas que no eran autohospitalarios eran un poco malos.

Cuando hay otro sistema necesario para el desarrollo, el sistema resultante no recibe la atención necesaria para ser confiable y amigable y usable.

Al principio de la historia de Sequent , usaron VAX para desarrollar su sistema operativo tipo Unix y otros componentes. Al relatar su historia, los ingenieros afirman con orgullo que tan pronto como su producto fue mayormente confiable, el presidente de la compañía ayudó a eliminar los VAX para que el desarrollo tuviera que ser autohospedaje, y la compañía atribuyó la eliminación de VAXing como un hito importante que resultó en Alta fiabilidad y facilidad de manejo.

Personalmente, experimenté varios sistemas de desarrollo molestos que no son de alojamiento propio de la década de 1970: ISIS e iRMX, que supuestamente se desarrollaron en VAXen, aunque creo que iRMX puede haber sido en gran medida autohospedaje a fines de la década de 1980.


10
Esto se conoce informalmente como 'comer su propia comida para perros'. Era muy evidente en la década de 1980 que los fabricantes de software usaban y no usaban sus propios productos internamente.
usuario207421
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.