Quais são as funções do BIOS enquanto o sistema operacional está em execução?

76

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 alguma finalidade 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, como?

    
por JohnnyFromBF 16.08.2012 / 11:10

5 respostas

71

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 gerenciador de inicialização alterna 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 e não o 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 SOs 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 dorme , o sistema operacional não está em execução e, em última análise, cabe ao firmware definir o hardware como estado correto para pausar e retomar o sistema operacional. Esses usos são geralmente limitados a chamadas ACPI ao invés 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 BIOS-central anterior, que dependia de firmware específico da plataforma para determinar o gerenciamento de energia e a política de configuração ".

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) pelo UEFI , que é claro, então, o que é chamado para implementar essas funções.

Para mais informações sobre como a função da BIOS diminuiu com o tempo, consulte Wikipedia .

    
por 16.08.2012 / 11:23
31

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

  • modificando a CPU e os relógios de barramento
  • ativando / desativando dispositivos da placa-mãe
  • controle de energia da porta de expansão
  • suspender para disco e suspender para RAM
  • resume 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 memória RAM ), mas o recurso permanece na especificação.

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

A interface do sistema operacional para todos os serviços de 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 gravações de hardware dispare uma interrupção, o que transfere o controle para o BIOS.

    
por 16.08.2012 / 17:03
16

Existem três áreas principais em que um sistema operacional usa o BIOS em sistemas modernos, como aqueles que usam o padrão UEFI. A primeira é uma série de serviços conhecidos como os serviços de tempo de execução UEFI. Esses serviços permitem que o SO capture informações que somente o BIOS conhece, como o horário em que o BIOS estava em uso, a ordem de inicialização, o perfil de segurança do usuário atual, as informações sobre a placa mãe, DIMMs, etc.

O segundo é o Modo de Gerenciamento do Sistema, que é uma seção oculta da memória (SMRAM) acessada por uma interrupção de alta prioridade (SMM). Muitos BIOS usam isso para implementar recursos OEM de alta segurança ou para implementar o trabalho de hardware.

O terceiro é o ACPI. A ACPI fornece dados e código de configuração, gerenciamento de energia e hardware usados pelo sistema operacional para aumentar o que os drivers do sistema operacional podem descobrir usando um padrão da indústria ou um driver de dispositivo. Por exemplo, há um sinal especial para controlar a energia do disco rígido, ou existe uma maneira especial de falar com a bateria que não é coberta por um padrão.

Tim

    
por 16.08.2012 / 18:10
9

Os sistemas operacionais modernos usam o BIOS principalmente apenas para carregamento, mas ainda existem alguns usos para ele, incluindo:

  • Reagindo ao botão liga / desliga (desligue o computador após 4 segundos
    incluído).
  • Alterando as configurações de brilho da tela em laptops
  • Eventos de bateria em laptops
  • Suspensão
por 16.08.2012 / 17:04
1

No topo do que foi dito acima, a Intel está começando a balançar para o outro lado e construir mais, fornecendo acesso fora de banda ao hardware via Tecnologia de Gerenciamento Ativo embutida na BIOS e na placa-mãe, que pode ser controlada independentemente do sistema operacional. Com estas placas você pode realmente fazer um pouco justo. Se você considera que é embutido ou um segundo sistema operacional é outra coisa, mas como ele tem hardware a bordo e componentes no BIOS, eu estou aderindo com inbuilt.

marketing de marketing

    
por 17.08.2012 / 18:16