A inicialização de um computador (em inglês, boot , carregamento inicial do programa ou IPL ) é um computador de procedimento de inicialização e deve incluir o carregamento do programa original (o boot ou bootstrap em inglês).
Nós distinguimos:
O termo "priming" é derivado do verbo to prime ; o termo " bota " é um apócope da palavra inglesa " bootstrap ", nome que designa a língua dos sapatos para poder calçá-los com mais facilidade (ver a seção História ).
A origem da palavra “ boot ” vem da seguinte brincadeira: o desafio do programa de boot é iniciar um computador e fazê-lo carregar um programa quando, a priori , ainda não há nenhum programa em sua memória.
Então, alguém definiu o nome bootstrap por analogia com a seguinte piada :
"Como você atravessa um lago sem se molhar?"
Resposta: Puxe as abas de suas botas para cima com força suficiente para andar sobre a água sem afundar. "
O termo vem da expressão " puxar-se pela própria bota ", originada no livro de Erich Raspe publicado em 1785: As Aventuras do Barão de Münchhausen . Durante uma de suas incontáveis aventuras, o Barão escapa por conta própria do afogamento que lhe foi prometido agarrando-se aos cordões, arrastando-se gradualmente até a borda.
O computador usa um programa reduzido, o carregador de boot , para extrair um programa acessível por meio de um dispositivo de armazenamento permanente ou removível. Este último é normalmente o kernel do sistema operacional , que será instalado na RAM ( memória de acesso aleatório ) e chamará os programas de aplicativos.
Em um PC , a BIOS foi responsável por cerca de 1981 a 2010 pela leitura do master boot record (ou MBR), com tamanho de 512 bytes, de um espaço de armazenamento (um disco rígido , um disquete , um CD-ROM , um Chave USB ...) e coloca-o na RAM no endereço 0x7C00, em seguida, passa para este código de máquina para o resto.
As reservas de espaço planejadas para armazenar os tamanhos se revelaram insuficientes para gerenciar discos de mais de 2 terabytes, nós Aproveitamos para apresentar um sucessor do BIOS chamado UEFI , que também tinha as vantagens de uma interface. Mais ou menos gráfica e, para a Microsoft , tornar a instalação de um sistema diferente do Windows mais restritiva .
Máquinas totalmente autônomas ( calculadoras programáveis , pequenos computadores portáteis sem disco rígido, PDAs , máquinas de controle industrial, etc.) geralmente possuem programas aplicativos escritos de forma permanente em ROM ou memória flash. Neste caso, o boot pode consistir em lançar diretamente a inicialização do sistema operacional .
Como os primeiros computadores não tinham ROMs , os carregadores de boot foram inseridos da seguinte maneira: o processador foi colocado em um estado de espera. Um operador posicionou um certo número de teclas (interruptores) para escrever em binário o conteúdo da primeira instrução. Em seguida, ele acionou uma operação elétrica causando a gravação no primeiro slot de memória (na RAM ). Em seguida, ele reposicionaria as chaves para escrever a segunda instrução e assim por diante. Uma vez que o programa foi codificado, o processador foi "liberado" e executou o código assim escrito que lhe permitiu acessar periféricos, e assim por diante.
Em máquinas da década de 1960 como o IBM 1130 , o boot era um programa binário contido em um cartão perfurado chamado " Cold Start ". Esses cartões, compostos por 80 colunas de 12 perfurações cada, o programa (carregado por um botão especial no console ), portanto, tinha que caber em 120 bytes (80 × 12 bits, 120 bytes). Sua função era ler um setor do disco ou mesmo apenas as seguintes cartas.
Microcomputadores como o T1600 da Telemecanique Power em 1970-1975 tiveram uma inicialização em fita perfurada lida de um teletipo ASR33. Os da Data General nos anos 1975-1980 possuíam uma pequena ROM acionando a leitura de uma área reservada do disco. O boot foi feito simplesmente pressionando um botão no console sem usar nenhum leitor.
Em 1975, em um computador para controlar uma central telefônica italiana (“ Gruppi speciali ”), a SIP ( Telecom Italia ) implementou um dos primeiros “ bootstraps ” iniciado por uma ROM composta por semicondutores e iniciada com apenas um botão.
Nos primeiros microcomputadores , que ainda não tinham disco rígido , a inicialização exigia o uso de um disquete . Posteriormente, tornaram-se utilizáveis meios de comunicação mais convenientes, como um CD , DVD , pen drive ou mesmo acesso à rede , este último permitindo que várias máquinas sejam inicializadas simultaneamente graças ao multicast .
Uma inicialização padrão do PC normalmente é realizada pelas etapas a seguir.
Depois de ligar, a fonte de alimentação fornece um sinal “ Power-good ” (PG) às vezes chamado de “ Power-OK ” (PW-OK) para a placa-mãe que faz com que a CPU inicialize . Aumentar o sinal Power-OK tem exatamente o mesmo efeito de pressionar o botão de reinicialização no PC. O processador retoma a sequência de inicialização a partir do primeiro endereço do BIOS . A unidade de fonte de alimentação define o sinal PG (ou PW-OK) para 0 V assim que percebe que não pode continuar a fornecer as tensões corretas. Isso pode ser devido ao consumo excessivo ou a um curto-circuito em uma de suas saídas ou ao desaparecimento da fonte de tensão VAC .
O Power Good não é uma etapa real do priming, mas sim uma verificação vital para a máquina, esta é feita pela fonte de alimentação .
O POST ou Power-on Self Test é realizado. Há uma verificação de todos os componentes de hardware para certificar-se de que estão funcionando corretamente.
Um ROM de expansão é um executável integrado para dispositivos que requerem inicialização especial (por exemplo, um controlador de barramento que precisa enumerar seus dispositivos ou um controlador de armazenamento que precisa verificar e inicializar uma matriz RAID).
Para dispositivos PCI / PCI Express, o endereço ROM de expansão associado ao dispositivo é armazenado nos registros de configuração do dispositivo.
O processo de execução de uma ROM de expansão é descrito abaixo para um dispositivo PCI:
O BIOS envia as informações que está programado para exibir na tela. Este é geralmente o estado do sistema e informações resumidas sobre os dispositivos que são inicializados, bem como instruções para se comunicar com o próprio BIOS (por exemplo, “ pressione DEL para entrar na configuração ”). O BIOS também exibe informações de hardware, como modelo de disco rígido, voltagem do processador, temperatura da placa-mãe, etc. Ele também é usado para configurar certos componentes, como o processador, para que possa aumentar sua frequência.
A BIOS lança a zona de boot ( Master boot record ou MBR, equipando quase todos os PCs, mas que começa a ser substituída pelo GPT ), que por sua vez lança o boot loader (os mais usados são NTLDR , LILO e GRUB ), este último iniciar o sistema operacional em uso no computador. Este último assume o gerenciamento da memória cache e outras operações.
A principal desvantagem da arquitetura do PC x86 é o tempo de execução do BIOS. Além disso, o tempo de execução depende principalmente da configuração do hardware.
O procedimento de início rápido “ fastboot ” foi criado para que a arquitetura x86 seja mais adequada para sistemas embarcados onde a configuração de hardware é predefinida e fixa (PCs industriais, tablets, netbooks, etc. )
Neste tipo de sistema, o seguinte é inútil:
O desenvolvedor também pode acelerar o processo de inicialização:
O Fastboot pode contar com "mini-drivers" que permitem a comunicação com periféricos antes que o sistema seja totalmente inicializado. Assim, é possível inicializar um dispositivo em um curto espaço de tempo.