Pagina inicial » como » O que meu BIOS faz depois de inicializar?

    O que meu BIOS faz depois de inicializar?

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

    A sessão de perguntas e respostas de hoje nos é oferecida por cortesia do SuperUser - uma subdivisão do Stack Exchange, um agrupamento de sites de perguntas e respostas da comunidade..

    A questão

    Leitor SuperUser Indrek coloca esta questão relacionada à BIOS:

    Eu sempre me perguntei se o BIOS (além de conduzir o POST, iniciar o bootloader e passar o controle para o sistema operacional depois de pressionar o botão liga / desliga) tem algum propósito ou função enquanto o sistema operacional está em execução.?

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

    De fato? Qual função o BIOS possui além de sua função crítica na inicialização do computador??

    As respostas

    Cortesia do contribuidor do SuperUser, Mechanical Snail, 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 supostamente disse que sua tarefa é "apenas carregar o sistema operacional e dar o fora de lá".

    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 bootloader muda 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 pelos aplicativos de espaço do usuário. As rotinas do kernel podem ser mais portáveis ​​(já que não dependem do hardware específico), mais flexíveis (fornecedores de SO podem alterá-las sob demanda em vez de usar o que vem com o hardware), mais sofisticadas (podem executar arbitrariamente complexas código em vez do que foi programado no BIOS) e mais seguro (já que o sistema operacional pode controlar o acesso a recursos compartilhados e impedir que os programas colidam uns com os outros, 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 SO ou os aplicativos chamarem a maioria das rotinas do BIOS. De fato, por motivos de segurança, as interrupções do BIOS estão até desabilitadas. Como o BIOS vive no modo real de 16 bits, é mais difícil chamar os sistemas operacionais modernos.

    Embora o uso do BIOS seja muito limitado enquanto o SO é executado, suas funções ainda são usadas perifericamente. Por exemplo, quando um computador fica inativo, o sistema operacional não está em execução e, em última análise, cabe ao firmware configurar o hardware para o estado correto para pausar e retomar o sistema operacional. Esses usos são geralmente limitados a ACPI chamadas em vez de chamadas para a interface completa do BIOS. A ACPI é uma extensão da BIOS que “coloca o gerenciamento de energia sob o controle do sistema operacional (OSPM), em oposição ao sistema central BIOS anterior, que se baseou no firmware específico da plataforma para determinar a política de gerenciamento e configuração de energia”.

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

    Para mais informações sobre como o papel do BIOS diminuiu ao longo do tempo, veja Wikipedia.

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

    O BIOS e o gerenciamento de energia

    O BIOS fornece vários serviços para os sistemas operacionais, a maioria dos quais relacionados ao gerenciamento de energia:

    • modificando os relógios da CPU e do barramento
    • habilitar / desabilitar dispositivos da placa-mãe
    • controle de potência da porta de expansão
    • suspender para disco e suspender para RAM
    • retomar as configurações do evento

    Suspender para disco é implementado no sistema operacional na maior parte do tempo, pois o sistema operacional pode restaurar seu estado mais rapidamente (somente o estado do kernel é recarregado e o estado do programa trocado quando necessário, o que é significativamente mais rápido do que recarregar toda a RAM), mas o recurso permanece na especificação.

    Suspender para RAM não pode ser implementado pelo sistema operacional, pois ele depende do BIOS ignorando a inicialização e o teste da RAM, portanto, o sistema operacional precisa de uma API para informar à BIOS que pretende ser retomada com o conteúdo atual da RAM. A fim de fornecer este serviço, o BIOS pede ao sistema operacional para deixar uma certa área de RAM intacta.

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


    Tem algo a acrescentar à explicação? Soe fora nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui.