Operações de inicialização do computador até o carregamento do gerenciador de inicialização

2

Estou aprendendo sobre como desenvolver seu próprio sistema operacional. Estou ciente do que acontece quando o gerenciador de partida é carregado, já que eu mesmo escrevo sozinho. No entanto, as operações que acontecem entre o pressionamento da energia no comutador e o carregamento do carregador de boot não são muito claras.

Eu sei que em um nível alto, é isso que acontece:

  • A energia é fornecida para a unidade de energia
  • É verificado se há algum problema com a fonte de alimentação (POST)
  • o BIOS está carregado
  • O BIOS
  • executa algumas verificações
  • o BIOS carrega o carregador de inicialização

Então, aqui estão minhas perguntas:

  • Eu li em algum lugar sobre o sinal RESET sendo constantemente enviado para o processador quando não está ligado. Quando a energia é fornecida, este sinal é interrompido? Isso é verdade ? Se sim, então quem fornece este sinal e é a verificação de uma fonte de alimentação adequada feita antes ou depois do sinal ser parado? Se não, então o que acontece quando o botão liga / desliga é pressionado?
  • Em resumo, quais são as operações realizadas no POST? Algumas fontes mencionam que o POST é executado por hardware, e alguns dizem pelo BIOS. Isso está correto?
  • Quais são as verificações executadas pelo BIOS? Eles envolvem apenas verificar se todos os dispositivos estão configurados corretamente?
  • Eu também li algo sobre a verificação / leitura de um chip CMOS. O que é essa operação, e isso é feito pela BIOS?

P.S .: Se esta pergunta não for apropriada para este site, feche-a e aponte-me para o site correto. E se alguém pudesse adicionar outras tags apropriadas, seria útil.

    
por Cygnus 08.02.2014 / 12:36

1 resposta

4

Depende um pouco do computador: O BIOS (por esse nome) é relativamente recente e "BIOS is loaded" não é verdade, "BIOS já está presente" na ROM ou a memória Flash estaria mais próxima da marca nos sistemas que tem BIOS.

Para responder às perguntas na ordem:

1) O RESET não é "enviado constantemente quando não está ligado", com exceção do RESET, que geralmente é um sinal baixo ativo (ou seja, 0V) e é a única tensão presente sem energia. Normalmente, o RESET é mantido baixo quando a energia é aplicada e só é permitido ficar inativo após tempo suficiente para que a energia se estabilize.

PCs de mesa mais novos podem ter arranjos diferentes porque eles têm uma fonte de alimentação standby que pode fazer coisas como ligar o teclado, Ethernet etc para "acordar sob demanda", mas isso não tem nada a ver com power-up.

2) Normalmente, não há um teste separado na fonte de alimentação; diferente de "supply volts > minimum required to run PC" - este teste permite que o RESET se torne inativo e que a CPU inicie.

Em alguns sistemas, o RESET persiste até que a pessoa que está operando o computador a limpe, configurando um comutador. Isso permite que eles carreguem o BIOS ou outro programa de inicialização a partir de fita de papel, comutadores, baralho de cartões, o que quer que seja; não é muito comum hoje em dia!

3) A CPU começa a buscar e executar instruções em um endereço específico: para processadores ARM Cortex, endereço 0: para outras CPUs, possivelmente para outros endereços; o endereço exato é publicado no databook da CPU.

Se o BIOS ou algum outro programa com fio (relógio digital, controlador de máquina de lavar roupa, etc) ainda não estiver lá, a CPU trava e nada acontece.

4) O BIOS realiza o autoteste. As verificações podem incluir a medição da voltagem da fonte de alimentação, testes de quanta memória existe, a memória funciona, etc; que periféricos existem; há um disco rígido? - é uma lista aberta. Se o sistema tiver um chip CMOS, isso provavelmente inclui um relógio alimentado por bateria, de modo que o BIOS defina a hora do sistema e pode incluir uma lista de configurações (por exemplo, em que disco o carregador de inicialização está ligado).

Supondo que há um disco rígido, com um bootloader nele, e os testes são aprovados, ENTÃO é normal que o BIOS carregue e execute o gerenciador de inicialização, e seu próprio sistema operacional está ativo e funcionando ...

    
por 08.02.2014 / 13:07