Por que os computadores não carregam o SO anteriormente no processo de inicialização?

3

Eu estava lendo um artigo que me referiu de outro thread no processo de inicialização do sistema operacional Windows e, durante a leitura, não pude deixar de imaginar -

Quando um computador liga, por que não pode começar a carregar o sistema operacional mais cedo no processo de inicialização?

Com relação ao desdobramento gradual dos processos de inicialização de um computador da ativação - > OS carregado, por que existem tantos "arcos" para saltar no processo de inicialização? Parece que o BIOS tem que apontar para esse local, esse local pode então ler esse local, esse local pode então carregar esse local, esse local executa isso para carregar esse local, etc., progressivamente em um nível cada vez mais alto. Mesmo acessando um disco rígido, parece que há várias encarnações de "drivers" que precisam ser usados até que os drivers de nível mais alto dentro do sistema operacional possam assumir o controle.

Eu meio que entendo por que é necessário que uma máquina sem vida seja capaz de ir de uma funcionalidade sem muito poder e subir a escada até uma funcionalidade mais alta (com analogias como a necessidade de começar em marcha baixa para trabalhar velocidade em direção a engrenagens mais altas), mas na medida em que os computadores vão, eu não entendo particularmente os detalhes de por que isso não pode ser feito em menos "arcos". Eu acho que é uma grande parte do que a transição BIOS- > UEFI é para - um intermediário de alto nível entre o hardware de baixo nível impotente e habilidades de SO com funcionamento mais elevado ...?

Eu acho que posso pegar o drift analogia-wise, mas se alguém pode fornecer detalhes, seria muito apreciado.

    
por Coldblackice 01.02.2014 / 05:09

1 resposta

1

Porque o seu sistema operacional é armazenado em disco.

Você precisa ler e colocar na memória. Interagir com o hardware não é fácil. Interagir com eles com alto desempenho é difícil . Assim, você faz isso de maneira desajeitada e lenta com os serviços da BIOS, carrega seus próprios drivers para acesso ao disco e, em seguida, configura o restante do seu sistema operacional na memória. Enquanto isso, você PRECISA de exibir, para ver o que está acontecendo e depurar quaisquer problemas. Então você precisa usar serviços de BIOS para isso. O mesmo para o teclado. E a rede, se você quiser arrancar uma imagem de instalação na rede. E um controlador SCSI, se o seu disco de inicialização estiver conectado a ele. E sua unidade de CD / DVD, se você quiser inicializar a partir dele. E assim por diante ....

Se houvesse uma maneira de diretamente colocar os drivers do kernel + na memória, a inicialização seria imediatamente uma relíquia. E esse dia não estará longe, já que agora temos RAM não volátil .

Com o UEFI, temos uma plataforma mais padrão para construir. Não será difícil ter um stick de RAM não volátil no primeiro slot e um DDR SDRAM normal nos outros. O processador pode ser redirecionado para qualquer localização de memória a ser executada pelo firmware. O código de inicialização do kernel pode ser mantido em um local específico. Toda a configuração de registros, interrupções e drivers levará uma fração de segundo se já estiver na memória.

Aguardo esse dia.

    
por 03.02.2014 / 15:01