O DOS e outros sistemas operacionais em tempo real utilizavam intensamente os serviços de BIOS. Como o modo real dos processadores x86 está vinculado ao espaço de endereçamento 2 ^ 20 = 1Mb, os fornecedores de sistemas i8086 decidiram que o BIOS deve ser mapeado para a parte mais alta do espaço de endereçamento (assim como os kernels mais recentes mapeando sua memória virtual em o fim do intervalo): de 0xA0000 e superior.
O modo protegido tornou essa memória reservada uma lacuna no espaço de endereço: os programas em modo protegido não podem chamar funções da BIOS sem hacks significativos, inutilizando-os em modo protegido e longo (no qual todos os sistemas operacionais modernos são executados), mas transferindo software de RM para PM não foi rápido, então os engenheiros da Intel deixaram uma janela de escape, modo v8086, que permitia rodar programas em modo real em uma sandbox dentro do ambiente de modo protegido (por exemplo, o OS / 2 usava intensamente o modo v8086 e emulação do DOS no sistema Windows também depende desse recurso), ainda exigindo serviços de BIOS para compatibilidade.
Esta memória ainda é usada no modo protegido para algumas tarefas, como terminal VGA / saída gráfica (a memória do terminal está localizada em 0xB8000, as fontes do console também podem ser ajustadas lá, o framebuffer gráfico VGA está em 0xA8000, iirc). Às vezes, essa memória é usada até mesmo para APIs como VBE 3 , mas sim, o mapeamento de BIOS em 0xA0000 é principalmente a questão de compatibilidade com versões anteriores . Há esforços para substituí-lo: um repensar moderno do BIOS, a UEFI agora está ganhando cada vez mais popularidade.
Conclusão: o mapeamento de BIOS em 0xA0000 é principalmente a questão de compatibilidade com versões anteriores e há esforços para substituí-lo por ambientes de inicialização mais modernos, como UEFI.