Existe um software de código aberto para simular e virtualmente programar um BIOS de computador?

7

Estou procurando um software de código aberto como o Virtual-box que eu possa rodar no Linux, mas que oferece a possibilidade de programar o BIOS (use um programa pessoal de BIOS).

Eu quero entender (de uma maneira prática) o processo de inicialização do computador e ter uma manipulação mais profunda do modo real x86. Eu também quero entender os diferentes mecanismos para se comunicar com os periféricos, ou seja, controlar dispositivos como o teclado e o disco rígido, e entender os modos de E / S e interrupções.

    
por Karim Manaouil 04.02.2017 / 00:38

1 resposta

15

Existem vários emuladores de máquinas virtuais que podem emular um processador x86 e periféricos. Cada um vem com um BIOS, vários deles com um BIOS de código aberto. Você deve olhar para QEMU , que opera de forma totalmente independente do host (ele pode ser executado em qualquer máquina, embora tenha mecanismos para execute mais rapidamente se a máquina emulada tiver a mesma arquitetura que o host). O QEMU vem com PC-BIOS .

Se você quiser trabalhar no modo real x86, também pode dar uma olhada no Dosbox .

O Coreboot também deve ser do seu interesse. É um BIOS de código aberto para x86.

Examinar um BIOS lhe dará algumas dicas sobre como um processador x86 inicializa, incluindo todas as peculiaridades herdadas de mais de 30 anos de história, com evolução significativa em recursos de hardware. Não é a melhor coisa para ver se o que você quer entender é como se comunicar com periféricos. Para isso, veja os drivers de dispositivo em um kernel do sistema operacional - Linux ou os mais simples, como MINIX 3 .

Eu também recomendaria dar uma olhada em outras arquiteturas de CPU, como ARM e MIPS, para que você tenha uma idéia do que é comum em interações de hardware / hardware e o que é específico para a arquitetura do PC.

    
por 04.02.2017 / 00:57