CriandoBits
Identifique-se Entrar Esqueceu a senha? Esqueci minha senha

SO - Processo de boot

Por Benedito Silva Júnior - publicado em 22/07/2016


Muitos computadores podem executar apenas códigos existentes na memória de trabalho (ROM ou RAM); os sistemas operacionais modernos são normalmente armazenados em disco rígido, CD-ROM ou outros dispositivos de armazenamento. Logo que o computador é ligado, ele não tem um sistema operacional na memória.
Booting

O hardware do computador não pode fazer as ações do sistema operacional, como carregar um programa do disco; assim um aparente insolúvel paradoxo é criado: para carregar o sistema operacional na memória, precisamos de um sistema operacional já carregado.

Sistema de iniciação ou carregador

A solução para o paradoxo está na utilização de um pequeno e especial programa, chamado sistema de iniciação, carregador, boot loader ou bootstrap.

Este programa não tem a completa funcionalidade de um sistema operacional, mas é especialmente construído para que seja capaz de carregar um outro programa para permitir a iniciação do sistema operacional.

Frequentemente, carregador de múltiplos estágios são usados, neste caso vários pequenos programas se complementam em sequência, até que o último deles carregue o sistema operacional.

Os primeiros computadores programáveis tinham chaves no painel frontal para permitir ao operador colocar o sistema de iniciação na memória antes de iniciar a CPU.

Este poderia então ler o sistema operacional de um meio de armazenamento externo como uma fita de papel.

Uma hipotética linguagem de máquina para o sistema de iniciação, poderia ser tão simples como as oito instruções seguintes, que fazem a leitura dos dados da fita:

1. Faça o registrador P = 8;

2. Verifique se a fita de papel está posicionada;

3. Se não estiver retorne ao passo 1;

4. Leia um byte da fita;

5. Se chegou no fim da fita pule para o passo 8;

6. Armazene os dados lidos no endereço do registrador P;

7. Incremente o registrador P;

8. Pule para 1.

Nos computadores modernos o processo de iniciação começa com a execução pela CPU de um programa contido na memória ROM (o BIOS do IBM PC) em um endereço predefinido (a CPU é programada para executar este programa depois de um reset automaticamente). Este programa contém funcionalidades rudimentares para procurar por dispositivos que podem conter um sistema operacional e que são, portanto, passíveis de participar de um boot. Definido o dispositivo é carregado um pequeno programa de uma seção especial deste.

Primeiro estágio do sistema de iniciação

O primeiro estagio é um programa maior que o código contido no MBR ele se encontra no resto dos setores da primeira pista, por ser limitado a um pequeno numero de setores tem tendencia a trabalhar com um único sistema de arquivos, mas é o suficiente para carregar um sistema operacional ou o segundo estagio que por ser um programa maior pode trabalhar com vários sistemas de arquivos e sistemas operacionais.

Segundo estágio do sistema de iniciação

O pequeno programa normalmente não é o sistema operacional, mas apenas um segundo estágio do sistema de inicialização, assim como o Lilo ou o Grub. Ele será então capaz de carregar o sistema operacional apropriado, e finalmente transferir a execução para ele. O sistema irá inicializar, e deve carregar drivers de dispositivos (device drivers) e outros programas que são necessários para a operação normal de um sistema operacional.

O processo de inicialização é considerado completo quando o computador está pronto para ser operado pelo usuário. Computadores pessoais modernos tipicamente levam cerca de um minuto para executar o processo de inicialização (deste tempo, cerca de 15 segundos são devidos a cada chamada do processo de inicialização, e o restante para carregar o sistema operacional).

No entanto, sistemas mais complexos como servidores podem levar vários minutos para terminar o processo de inicialização e carregar todos os serviços. Para garantir maior disponibilidade, estes iniciam certos serviços preferencialmente antes de outros.

Muitos sistemas embutidos, ou embedded systems, podem iniciar instantaneamente -- por exemplo, esperar um minuto para uma televisão ligar é inaceitável. Assim, estes sistemas têm seu sistema operacional inteiro na ROM ou na memória flash, podendo executá-lo diretamente.

Em computação, uma sequência de inicialização compreende toda e qualquer operação que um computador executa, após ter sido ligado, visando carregar o sistema operacional.

Dispositivos de iniciação do BIOS

Um dispositivo de iniciação é qualquer dispositivo que deve ser iniciado antes da carga do sistema operacional. Isto inclui os dispositivos de entrada como o teclado, dispositivos de saída como o Monitor, e os dispositivos de armazenamento como drive de disquete, disco rígido, CD-ROM, etc. Um caso especial de dispositivo de iniciação são os que podem carregar o sistema operacional (Em antigas máquinas PC, o drive de disquete e o disco rígido).

Em uma BIOS moderna, o usuário pode selecionar vários dispositivos para fazer a iniciação, por exemplo disquete, Superdisk, Disco Rígido, SCSI, Cdrom, Zip drive, ou USB (USB-FDD, USB-ZIP, USB-CDROM, USB-HDD).

Por exemplo, podemos instalar o Microsoft Windows no primeiro disco rígido e o Linux no segundo. Alterando os parâmetros da BIOS, podemos indicar em qual dispositivo está o sistema operacional a carregar.

Sequência de iniciação no PC

Ao iniciar o processo de iniciação, a CPU do computador pessoal executa a instrução localizada no registrador de memória do BIOS. Este registrador de memória corresponde a última posição de memória da BIOS. Ele contém uma instrução que faz com que a execução seja desviada para o local no BIOS onde começa o programa inicial. Este programa executa um auto-teste (POST), que é um teste para verificar o funcionamento de diversos dispositivos no computador. Então, o BIOS busca em uma lista de dispositivos pré-configurados até encontrar um que pode ser o dispositivo de iniciação.
BIOS avançado
Se não encontrar este dispositivo, um erro é apresentado e o processo de iniciação termina. Se o dispositivo de iniciação é encontrado, o BIOS carrega e executa o MBR (Registro mestre de iniciação).

Em muitos casos, o MBR verifica a tabela de partições em busca de uma partição ativa. Se uma partição ativa é encontrada, o MBR carrega e executa o setor de iniciação da partição.

O setor de iniciação é específico do sistema operacional, entretanto em muitos sistemas sua principal função é carregar e executar o núcleo.

Boot - android

Partição do sistema que contém toda informação necessária para o funcionamento do celular ou tablet, sem ela, o dispositivo não seria capaz de funcionar. Aí se encontram o Bootloader (independente do sistema principal e encarregado pela coordenação geral para funcionamento de qualquer Android, verificando se o sistema está OK e, normalmente, vem bloqueado de fábrica, o que impede sua alteração) e o Kernel Linux (gerencia os recursos do sistema, permitindo que APPs façam uso dele). A cada nova instalação, os dados dessa partição são modificados, permitindo o uso dos softwares instalados no acionamento do gadget.

Origem do termo "boot"

O termo "boot" deriva do inglês booting que, por sua vez, deriva do termo bootstrapping (de boot straps - o cadarço (português brasileiro) ou atacador (português europeu) de bota ).

Em computação, todas as três expressões têm basicamente o mesmo significado. O termo faz alusão às histórias sobre o Barão de Münchhausen, que, segundo a lenda, era capaz de se erguer do pântano (para não se molhar) puxando pelos cadarços das próprias botas (pulling himself by his own boot straps). Ou seja, o termo procura dar a imagem de um processo aparentemente impossível pelo qual o sistema se ergue (ou se coloca em funcionamento) por seus próprios esforços.

Arquivo bootável

Um arquivo bootável, também conhecido pelo nome em inglês bootable file é um arquivo que executa no boot. Um exemplo são as instalações de sistemas operacionais, como as do Windows XP, Windows Vista, Windows 7, eComStation, Linux, OS/2, Windows 8, entre outros.

Fonte:
https://pt.wikipedia.org/wiki/Boot


 
Subir ao topo da páginaTopo