¿Cómo se instaló Unix en los años 70 y 80?

¿Cómo se instaló Unix en los años 70 y 80?

Bueno, he estado rodeado de computadoras desde finales de los 80 (en realidad tenía como 3 años). Hice todo lo posible: Atari Xl-XE, MS-DOS, Windows 3.1, 95, etc. Luego comencé a usar Linux por su apariencia (sí, lo sé,Compiz-Fusiónfue la verdadera razón para explorar Linux) y ahora está instalado en todas mis máquinas. Incluso lo tengo en Windows 10.

He ensamblado máquinas desde cero antes y siempre se podía arrancar en "MS-DOS", eso es lo que recuerdo y eso me hizo preguntarme.

¿Cómo se instaló Unix en los años 80 o finales de los 70 (yo ni siquiera estaba vivo)? ¿Fue algo tan trivial como arrancar un gran disquete o se trató de magia negra?

Sucede que no puedo encontrar ninguna referencia al respecto y la gente en mi país simplemente no entiende el tema del Software Libre.

EDITAR:

Me salté una parte crucial, me siento tonto porque no pensé en eso en primer lugar.

Todo comienza con la secuencia de inicio, que no es un sistema operativo, pero está en la memoria ROM, como el BIOS (en mi opinión, es un sistema operativo muy minimalista para la configuración de la máquina) y otras cosas, como la secuencia de inicio. En esta etapa buscará los dispositivos enumerados en el BIOS y luego los repetirá en orden, hasta que un dispositivo responda con las instrucciones de arranque, como las que se encuentran en las cintas. Por lo tanto, no es necesario ningún sistema operativo inicial y se puede instalar Unix.

Los errores tontos te llevan por el camino más largo, pero seguramente aprendes más.

Respuesta1

Mi experiencia con la instalación de Unix en los años 80 fue en un PDP-11, y el proceso de instalación es bastante interesante. De hecho, lo hice esta noche (en un emulador), por primera vez en años...

Unix V7 para el PDP-11 se distribuyó en cinta. La cinta contenía varios archivos, uno tras otro.

  • El primer archivo de la cinta era un gestor de arranque. Llegó en dos partes. La primera parte era el bloque de arranque, y sabía lo suficiente como para leer la segunda parte del gestor de arranque desde la cinta a la memoria y luego transferirle el control. El código para esto tenía menos de 512 bytes. La segunda parte era más grande, tenía "controladores independientes" simplificados para un par de tipos diferentes de disco y cinta, y sabía lo suficiente sobre el sistema de archivos Unix para poder encontrar archivos en cinta o en el directorio raíz. de un sistema de archivos en un disco duro, cárguelos y ejecútelos. El tamaño completo del gestor de arranque (el tamaño total de ambas partes) era de aproximadamente 8 KB.
  • El segundo archivo de la cinta era un catprograma independiente. Cuando digo "independiente", me refiero a que se ejecuta directamente en el sistema operativo (sin ningún sistema operativo); fue escrito con los mismos controladores de dispositivo independientes y controladores de sistema de archivos que el cargador de arranque. Puede cargar y ejecutar esto usando el cargador de arranque. Cuando se inicia, le indica desde qué dispositivo desea leer un archivo y qué archivo leer. Lo lee, lo imprime y luego sale. Eso es todo lo que hace. Esto fue de utilidad limitada.
  • El tercer archivo de la cinta era sólo un archivo de texto que tenía una lista de los archivos que había en la cinta. Casi nadie siquiera miró esto. Si estuvieras usando una de estas cintas de distribución, prácticamente ya sabías lo que contenía...
  • El cuarto archivo de la cinta era un mkfsprograma independiente. Este se creó con la misma biblioteca de controladores de dispositivos independientes y controladores de sistemas de archivos que los otros programas independientes, y también se ejecutó sin sistema operativo, sin sistema operativo. Podrías cargar y ejecutar esto usando el cargador de arranque, te preguntaría en qué disco (y partición) deseas crear un sistema de archivos y qué tan grande se suponía que debía ser el sistema de archivos, y luego escribiría la estructura inicial del sistema de archivos. el dispositivo y la partición que le indicó. Entonces saldría.
  • El quinto archivo de la cinta era un restorprograma independiente (sí, al igual que la creat()llamada al sistema, restorestaba escrito sin 'e'...). Puede cargar y ejecutar esto usando el cargador de arranque. Nuevamente, se ejecutó sin sistema operativo, sin sistema operativo. Solicitaría un archivo de cinta que contenga un volcado del sistema de archivos y una partición de disco en la que restaurarlo. Y luego haría eso. Entonces saldría.
  • El sexto archivo de la cinta era simplemente un volcado del sistema de archivos raíz.
  • El séptimo archivo de la cinta era simplemente un volcado del sistema de archivos /usr.

Y eso es todo, eso es lo que obtienes.

Entonces, si tenías esta cinta, tenías que iniciar el proceso de alguna manera. Algunos PDP-11 tenían ROM de arranque que sabían cómo cargar el primer bloque de un dispositivo (como una cinta o un disco) y saltarlo. (Y para esta cinta, el primer bloque tiene menos de 512 bytes de código ejecutable, que sabe cómo cargar el resto del cargador de arranque). Sin embargo, el primer PDP-11 que utilicé no tenía una ROM de arranque. Cada vez que iniciamos la máquina, teníamos que ingresar el código de inicio para cargar el primer bloque de un dispositivo y saltar a él. Manualmente. En binario... Afortunadamente, era bastante corto (por ejemplo, el código para leer el primer bloque de una unidad de cinta TU16 o TE16 y saltar a él tenía solo 6 palabras o 12 bytes), y teníamos el código de arranque. escrito en una hoja de papel pegada a la máquina. No hace falta decir que hicimos todo lo posible para evitar la necesidad de reiniciar la máquina a toda costa...

Entonces, dado todo eso… el proceso general para instalar el sistema fue:

  1. Use la ROM de arranque (o ingrese el código de arranque a mano...) para cargar el llamado "cargador de arranque de bloque cero" en la memoria, y luego se usa para cargar el resto del cargador de arranque.
  2. Utilice el cargador de arranque para cargar el mkfsprograma independiente (el cuarto archivo de la cinta), para establecer la estructura del sistema de archivos raíz en una partición del disco duro.
  3. Utilice el cargador de arranque para cargar el restorprograma independiente (el quinto archivo de la cinta) y restaurar el volcado del sistema de archivos raíz (el sexto archivo de la cinta) en su disco duro.
  4. Utilice el cargador de arranque para cargar el kernel de Unix desde un archivo en el sistema de archivos raíz del disco duro (que acaba de restaurar desde la cinta) y transferirle el control. En este punto, Unix ya está ejecutándose.
  5. mkfsUtilice los comandos y Unix normales restorpara crear el sistema de archivos /usr en otra partición del disco duro y restaure el volcado del sistema de archivos /usr en la partición que acaba de preparar.

Y luego, prácticamente habrá terminado, excepto por instalar el código de inicio en el primer bloque del disco duro (para que su ROM de inicio o el código de inicio ingresado manualmente puedan ejecutarlo cada vez que reinicie su sistema). algunos elementos de ajuste del sistema y configurar algunas cosas como usted desea que sean.

Procedimientos como este fueron la forma en que se instalaron muchas distribuciones Unix, durante mucho tiempo, en los años 1970 y 1980. Berkeley Unix (4.2BSD y posteriores) proporcionó una cinta de distribución con una estructura muy similar y un procedimiento de instalación muy similar.

Si desea ver las instrucciones de Charles Haley y Dennis Ritchie para instalar V7 Unix en un PDP-11, puede encontrarlasaquí. Seguí estas instrucciones esta noche y funcionan bien. ;-)

Respuesta2

En el primer trabajo que tuve, allá por 1989, instalamos Unix (Interactive, propiedad de Kodak en ese momento) en PC Intel 386 usando disquetes de 3,5 pulgadas (aprox. 9 cm).

Respuesta3

Creo que estás preguntando cómoinstalación inicialde Unix. Muchas computadoras de esa época fueron diseñadas para ejecutar Unix y venían con el sistema operativo preinstalado en el disco duro o en disquetes. La instalación fue sólo una cuestión de proporcionar un disco con el contenido adecuado.

Pero quizás te preguntes, ¿por qué medio el sistema instala el sistema operativo en la memoria cuando se inicia?

Aquí hay un ejemplo. El AT&T 3B1, también conocido como "PC Unix", tenía una ROM que contenía un programa de arranque, en las direcciones 800000-BFFFFF. Cuando se reinicia el sistema, su CPU Motoroloa 68010 carga el puntero de pila desde 000000-2, carga el contador de programa desde 000004-6 y salta. Durante un reinicio, el hardware fuerza el bit de dirección 23 alto, asignando efectivamente la ROM a la memoria principal, de modo que el sistema realmente ejecuta el programa en la ROM. Ese programa en ROM inicializa los diferentes componentes de hardware, ejecuta algunos diagnósticos y, de manera crucial, carga el sistema operativo desde un disquete o disco cargando y ejecutando un bloque de arranque. El código en el bloque de arranque cargaría el kernel y comenzaría a ejecutarse init, tal como lo hace un sistema moderno.

(Más información en los manuales, ver espejo de Philip PembertonEmulador AT&T 3B1)

En teoría, podría utilizar este conocimiento para instalar algo que no sea Unix en una máquina como esta. Pero no siempre hubo una capa de abstracción de hardware como el BIOS en una PC, por lo que el programa que se iniciaba tenía que estar más estrechamente acoplado al hardware.

Respuesta4

En PC (IIRC), la instalación de Interactive Unix se realizó con un disquete de arranque y la instalación "real" luego se realizó desde una cinta. Tenga en cuenta que su tarjeta SCSI tenía que ser compatible con Interactive.

En las estaciones de trabajo HP, usted arrancó desde cinta/DAT y lo instaló.

información relacionada