O conceito PC BIOS deriva do CP / M, um sistema operacional popular em computadores de barramento Z-80 "S-100" de 8 bits antes do PC IBM assumir o controle.
O CP / M espera que as funções dependentes de hardware estejam em uma ROM (BIOS). Outra parte, carregada do disco pelo gerenciador de inicialização, era o software que suportava o sistema de arquivos CP / M (BDOS) e, depois, o último processador de comando ou "shell" (CCP). O hardware que o CP / M deveria suportar não era muito: uma unidade de disco, um monitor, uma porta serial ou duas (portas COM ou AUX) que poderiam ter impressoras ou modems conectados.
O BIOS do PC executou uma função básica de inicialização semelhante à do CP / M, e o DOS usou as funções do BIOS para executar entradas e saídas básicas, conforme planejado. Os programadores acabaram ignorando essas funções por serem lentas. Isso levou os fabricantes de clones de PC, em meados dos anos 80, a recriar a plataforma como um todo (fácil como a IBM documentou o PC original muito bem por dentro e por fora), em vez de apenas fornecer um BIOS com interfaces compatíveis, embora eles também precisassem fazer isso.
Neste ponto, podemos dizer que, para um sistema operacional moderno, o BIOS não é realmente necessário além da inicialização do sistema. Contudo ...
A partir do início dos anos 90, a noção de gerenciamento de energia entrou em vigor e o BIOS foi encarregado disso. O APM funciona bem com um sistema operacional de tarefa única, como o DOS, mas não com sistemas operacionais multitarefa verdadeiros, como Windows ou Linux. Nessa época, o 386 estava em pleno vigor, o CPU Intel que suportava multitarefa real. O DOS e o BIOS não foram atualizados em resposta aos novos recursos desta CPU, principalmente porque todas as CPUs Intel ainda serão executadas no modo de compatibilidade de 16 bits herdado para o qual o PC-BIOS original foi projetado. Portanto, os sistemas operacionais modernos praticamente ignoram / ignoram toda a funcionalidade de entrada / saída do BIOS / tipo CP / M, exceto possivelmente nos estágios iniciais de inicialização.
Eventualmente, o ACPI foi desenvolvido, principalmente parte do BIOS, que suportava o gerenciamento de energia e a configuração de coisas específicas da plataforma (geralmente laptop). A ACPI também lida com o estado final de comutação de energia de hibernação, suspensão ou desligamento.
Hoje em dia é a ACPI e sua sucessora, a EFI, que mantém algo como o BIOS uma necessidade dos PCs. O conceito abrangente é que a ACPI seja a interface entre coisas específicas da plataforma ou da placa-mãe e o sistema operacional, para que uma compilação separada do sistema operacional não seja precisa ser feito para todos os tipos diferentes de placas-mãe.
Placas de desenvolvimento que hospedam CPUs ARM executando Linux (assim como hardware de telefone celular) têm esse problema. Normalmente, eles vêm com um firmware apenas do carregador de inicialização, como U-boot, mas praticamente o sistema operacional deve suportar cada placa como uma plataforma separada.