
Bem, eu uso computadores desde o final dos anos 80 (na verdade, eu tinha 3 anos). Percorreu todo o caminho: Atari Xl-XE, MS-DOS, Windows 3.1, 95, etc. Depois comecei a usar Linux por causa da aparência(sim, eu sei,Compiz-Fusionfoi o verdadeiro motivo para explorar o Linux) e agora está instalado em todas as minhas máquinas. Eu até tenho isso no Windows 10.
Já montei máquinas do zero e sempre dava para inicializar no "MS-DOS", é disso que me lembro e isso me fez pensar.
Como o Unix foi instalado nos anos 80 ou no final dos anos 70 (eu nem estava vivo)? Foi trivial como inicializar um grande disquete ou magia negra envolvida?
Acontece que não consigo encontrar nenhuma referência a isso e as pessoas no meu país simplesmente não entendem o Software Livre.
EDITAR:
Pulei uma parte crucial, me sinto idiota porque não pensei nisso em primeiro lugar.
Tudo começa com a sequência de boot, que não é um sistema operacional, mas está na memória ROM, como o BIOS (na minha opinião é um sistema operacional muito minimalista para configuração da máquina) e outras coisas, como a sequência de boot. Neste estágio ele irá procurar os dispositivos listados no BIOS e então irá iterá-los em ordem, até que um dispositivo responda com as instruções de boot, como as das fitas. Portanto, nenhum sistema operacional inicial é necessário e o Unix pode ser instalado.
Erros estúpidos levam você ao longo do caminho, mas com certeza você aprende mais.
Responder1
Minha experiência com a instalação do Unix nos anos 80 foi em um PDP-11, e o processo de instalação é realmente bastante interessante. Na verdade, fiz isso esta noite (em um emulador), pela primeira vez em anos...
Unix V7 para PDP-11 foi distribuído em fita. A fita continha vários arquivos, um após o outro.
- O primeiro arquivo na fita era um gerenciador de inicialização. Ele veio em duas partes. A primeira parte era o bloco de boot, e ele sabia apenas o suficiente para ler a segunda parte do bootloader da fita para a memória e depois transferir o controle para ele. O código para isso tinha menos de 512 bytes. A segunda parte era maior, tinha "drivers autônomos" simplificados para alguns tipos diferentes de disco e fita, e sabia apenas o suficiente sobre o sistema de arquivos Unix para poder encontrar arquivos na fita ou no diretório raiz. de um sistema de arquivos em um disco rígido, carregue-os e execute-os. O tamanho completo do carregador de boot (o tamanho total de ambas as partes) era de cerca de 8K bytes.
- O segundo arquivo da fita era um
cat
programa independente. Quando digo "autônomo", quero dizer que ele foi executado diretamente no bare metal (sem nenhum sistema operacional); ele foi escrito com os mesmos drivers de dispositivo independentes e drivers de sistema de arquivos do carregador de boot. Você pode carregar e executar isso usando o gerenciador de inicialização. Quando ele é inicializado, você informa de qual dispositivo deseja ler um arquivo e qual arquivo ler. Ele lê, imprime e sai. Isso é tudo que faz. Isto foi de utilidade limitada. - O terceiro arquivo da fita era apenas um arquivo de texto que continha uma lista de quais arquivos estavam na fita. Quase ninguém sequer olhou para isso. Se você estivesse usando uma dessas fitas de distribuição, você já sabia o que havia nela...
- O quarto arquivo da fita era um
mkfs
programa independente. Ele foi construído com a mesma biblioteca de drivers de dispositivos independentes e drivers de sistema de arquivos que os outros programas independentes, e também foi executado em bare metal, sem um sistema operacional. Você poderia carregar e executar isso usando o gerenciador de inicialização, ele perguntaria em qual disco (e partição) você queria criar um sistema de arquivos e qual o tamanho do sistema de arquivos deveria ser, e então escreveria a estrutura inicial do sistema de arquivos em o dispositivo e a partição que você solicitou. Então sairia. - O quinto arquivo da fita era um
restor
programa independente (sim, assim como acreat()
chamada do sistema,restor
foi escrito sem 'e'...). Você pode carregar e executar isso usando o gerenciador de inicialização. Novamente, ele foi executado em bare metal, sem sistema operacional. Ele solicitaria um arquivo de fita contendo um dump do sistema de arquivos e uma partição de disco para restaurá-lo. E então, faria isso. Então sairia. - O sexto arquivo na fita era apenas um dump do sistema de arquivos raiz.
- O sétimo arquivo na fita era apenas um dump do sistema de arquivos /usr.
E é isso - é isso que você obtém.
Então, se você tivesse essa fita, teria que iniciar o processo de alguma forma. Alguns PDP-11 tinham ROMs de inicialização que sabiam como carregar o primeiro bloco de um dispositivo (como uma fita ou disco) e saltá-lo. (E para esta fita, o primeiro bloco tem menos de 512 bytes de código executável, que sabe como carregar o resto do carregador de boot.) O primeiro PDP-11 que usei, entretanto, não tinha uma ROM de bootstrap. Cada vez que inicializamos a máquina, tínhamos que inserir o código de inicialização para carregar o primeiro bloco de um dispositivo e pular para ele. À mão. Em binário... Felizmente, era bem curto (por exemplo, o código para ler o primeiro bloco de uma unidade de fita TU16 ou TE16 e pular para ele tinha apenas 6 palavras, ou 12 bytes), e tínhamos o código de inicialização anotado em um pedaço de papel colado na máquina. Escusado será dizer que fizemos o nosso melhor para evitar a todo custo a necessidade de reiniciar a máquina...
Então, diante de tudo isso... o processo geral para instalação do sistema foi:
- Use a ROM de inicialização (ou digite o código de inicialização manualmente...) para carregar o chamado "carregador de inicialização de bloco zero" na memória, e isso é então usado para carregar o resto do carregador de inicialização.
- Use o carregador de boot para carregar o
mkfs
programa independente (o quarto arquivo na fita), para estabelecer a estrutura do sistema de arquivos raiz em uma partição do disco rígido. - Use o carregador de boot para carregar o
restor
programa independente (o quinto arquivo na fita), para restaurar o dump do sistema de arquivos raiz (o sexto arquivo na fita) em seu disco rígido. - Use o carregador de boot para carregar o kernel Unix de um arquivo no sistema de arquivos raiz no disco rígido (que você acabou de restaurar da fita) e transfira o controle para ele. Neste ponto, o Unix está em execução.
- Use o Unix normal
mkfs
erestor
comandos para criar o sistema de arquivos /usr em outra partição do disco rígido e restaure o dump do sistema de arquivos do sistema de arquivos /usr para a partição que você acabou de preparar.
E então, você está praticamente pronto, exceto para instalar o código de inicialização no primeiro bloco de disco no disco rígido (para que sua ROM de inicialização ou seu código de inicialização inserido manualmente possam executá-lo sempre que você reinicializar o sistema), alguns itens de ajuste do sistema e configuração de algumas coisas da maneira que você deseja.
Procedimentos como esse foram quantas distribuições Unix foram instaladas, durante muito tempo, nas décadas de 1970 e 1980. Berkeley Unix (4.2BSD e posterior) forneceu uma fita de distribuição com uma estrutura muito semelhante e um procedimento de instalação muito semelhante.
Se você quiser ver as instruções dos próprios Charles Haley e Dennis Ritchie para instalar o V7 Unix em um PDP-11, você pode encontrá-lasaqui. Acabei de seguir estas instruções esta noite e elas funcionam bem. ;-)
Responder2
No primeiro trabalho que tive, em 1989, instalamos o Unix (Interactive, de propriedade da Kodak na época) em PCs Intel 386 usando disquetes de 3,5 polegadas (cerca de 9 cm).
Responder3
Acho que você está perguntando comoinstalação inicialdo Unix foi executado. Muitos computadores daquela época foram projetados para rodar Unix e vinham com o sistema operacional pré-instalado no disco rígido ou em disquetes. A instalação foi apenas uma questão de fornecer um disco com o conteúdo adequado.
Mas você deve estar se perguntando: por que meio o sistema instala o sistema operacional na memória quando é inicializado?
Aqui está um exemplo. O AT&T 3B1, também conhecido como "Unix PC", tinha uma ROM que continha um programa de bootstrap, nos endereços 800000-BFFFFF. Quando o sistema é reinicializado, sua CPU Motoroloa 68010 carrega o ponteiro da pilha de 000000-2, carrega o contador do programa de 000004-6 e salta. Durante uma reinicialização, o hardware força o bit de endereço 23 alto, mapeando efetivamente a ROM para a memória principal, de modo que o sistema esteja realmente executando o programa na ROM. Esse programa em ROM inicializa os diferentes componentes de hardware, executa alguns diagnósticos e carrega o sistema operacional a partir de um disquete ou disco, carregando e executando um bootblock. O código no bootblock carregaria o kernel e começaria a ser executado init
, da mesma forma que um sistema moderno faz.
(Mais informações nos manuais, veja espelho de Philip PembertonEmulador AT&T 3B1)
Teoricamente, você poderia usar esse conhecimento para instalar algo diferente do Unix, como uma máquina. Mas nem sempre houve uma camada de abstração de hardware como o BIOS de um PC, então o programa inicializado precisava estar mais acoplado ao hardware.
Responder4
No PC (IIRC) a instalação do Interactive Unix foi feita com um disquete de boot e a instalação "real" foi feita a partir da fita. Observe que sua placa SCSI precisava ser suportada por interativo.
Nas estações de trabalho HP você inicializou a partir de fita/DAT e instalou.