2Aug

O que faz minha BIOS após a inicialização?

Uma vez que o seu computador termina o processo de inicialização e você está firmemente dentro do sistema operacional que zumbido, há alguma coisa para o BIOS fazer?

Pergunta de hoje e amp;A sessão de resposta vem a nós com cortesia do SuperUser - uma subdivisão do Stack Exchange, um grupo de unidade comunitária de sites Q e A.

A questão

Leitor de superutilizador Indrek coloca esta questão relacionada com a BIOS:

Eu sempre me perguntei se o BIOS( além de realizar POST, iniciar o carregador de inicialização e passar o sistema operacional após um pressionar o botão de energia) tem qualquer finalidade ou função durante o funcionamentoo sistema está funcionando?

O sistema operacional se comunica com o BIOS durante a execução e, em caso afirmativo, como?

De fato? Qual a função do BIOS além do seu papel crítico na inicialização do computador?

As Respostas

Cortesia do Contribuidor do SuperUser Caracol Mecânico, uma visão geral de como o papel do BIOS mudou ao longo do tempo e o que é e não está fazendo hoje:

O Papel do BIOS

Com sistemas operacionais modernos, praticamente nenhum .Linus Torvalds teria dito que sua tarefa é "simplesmente carregar o sistema operacional e sair daqui".

Os sistemas operacionais mais antigos, como o MS-DOS, dependiam do BIOS para muitas tarefas( por exemplo, acesso ao disco), chamando interrupções.

Com sistemas operacionais modernos, o carregador de inicialização passa rapidamente para o modo de 32 ou 64 bits e executa o kernel do sistema operacional. O kernel pode registrar seus próprios manipuladores de interrupção, que podem ser chamados por aplicativos de espaço de usuário. As rotinas do kernel podem ser mais portáteis( uma vez que não dependem do hardware específico), mais flexíveis( os fornecedores de sistemas operacionais podem mudá-los sob demanda, em vez de ter que usar o que for fornecido com o hardware), mais sofisticados( eles podem executar arbitrariamente complexoscódigo, em vez do que foi programado no BIOS) e mais seguro( uma vez que o sistema operacional pode controlar o acesso a recursos compartilhados e impedir que os programas se clamam, implementando seus próprios esquemas de permissões arbitrárias).

Para interagir com hardware específico, os sistemas operacionais podem carregar e usar seus próprios drivers de dispositivo. Portanto, não há necessidade de o sistema operacional ou aplicativos chamarem a maioria das rotinas do BIOS.Na verdade, por motivos de segurança, as interrupções do BIOS são mesmo desabilitadas. Uma vez que o BIOS vive no modo real de 16 bits, é mais difícil solicitar sistemas operacionais modernos.

Enquanto o uso do BIOS é muito limitado enquanto o sistema operacional é executado, suas funções ainda são usadas periféricamente. Por exemplo, quando um computador dorme, o sistema operacional não está sendo executado e, em última instância, cai no firmware para configurar o hardware no estado correto para pausar e retomar o sistema operacional. Esses usos geralmente são limitados a ACPIcalls em vez de chamadas para a interface completa do BIOS.ACPI é uma extensão da BIOS que "traz gerenciamento de energia sob o controle do sistema operacional( OSPM), em oposição ao sistema BIOS-central anterior, que dependia do firmware específico da plataforma para determinar o gerenciamento de energia e a política de configuração".

Observe que oficialmente "BIOS" se refere a uma interface de firmware particular, mas o termo é comumente usado para se referir ao firmware do computador em geral. Alguns computadores recentes( especialmente os de Apple) substituíram o BIOS( sensu strictu) por UEFI, o que, é claro, é o que é chamado para implementar essas funções.

Para obter mais informações sobre como o papel do BIOS diminuiu ao longo do tempo, consulte a Wikipédia.

Outro colaborador do SuperUser, Simon Richter, nos fornece uma visão geral das coisas que o BIOS ainda faz:

BIOS e Power Management

O BIOS fornece uma série de serviços aos Sistemas Operacionais, a maioria dos quais está relacionado ao gerenciamento de energia: modificação

  • os relógios da CPU e do ônibus
  • habilitando / desativando os dispositivos da placa-mãe
  • controle de potência da porta de expansão
  • suspende-para-disco e suspende-para-RAM
  • retomam as configurações do evento

O suspenso no disco é implementado no SO a maior parte do tempo como OSpode restaurar seu estado mais rápido( somente o estado do kernel é recarregado e o estado do programa é trocado quando necessário, o que é significativamente mais rápido do que recarregar a RAM inteira), mas o recurso permanece na especificação.

Suspend-to-RAM não pode ser implementado pelo sistema operacional, pois depende do BIOS ignorando a inicialização e o teste da RAM, então o sistema operacional precisa de uma API para informar a BIOS que pretende retomar com os conteúdos atuais da RAM.Para fornecer esse serviço, o BIOS solicita ao sistema operacional que deixe uma determinada área RAM intacta.

A interface para o sistema operacional para todos os serviços do BIOS é um código de máquina virtual que precisa ser executado em um emulador e que gera as operações de E / S necessárias no hardware. Para suspender, isso geralmente é implementado para que a execução de uma das escrituras de hardware acione uma interrupção, que transfere o controle para o BIOS.

Tem alguma coisa a adicionar à explicação? Som na parte dos comentários. Deseja ler mais respostas de outros usuários Tech-savvy Stack Exchange? Confira o tópico de discussão completo aqui.