Linuxで実行できるVirtual-boxのようなオープンソースソフトウェアを探していますが、BIOSをプログラムする可能性があります(パーソナルBIOSプログラムを使用してください)。
コンピューターの起動プロセスを(実際的な方法で)理解し、x86リアルモードをより深く操作したいと思います。また、周辺機器と通信するためのさまざまなメカニズム、つまりキーボードやハードドライブなどのデバイスの制御について理解し、I/Oモードと割り込みについても理解したいと思います。
承認された回答:
x86プロセッサと周辺機器をエミュレートできる仮想マシンエミュレータがいくつかあります。それぞれにBIOSが付属しており、そのうちのいくつかにはオープンソースBIOSが付属しています。ホストから完全に独立して動作するQEMUを確認する必要があります(エミュレートされたマシンがホストと同じアーキテクチャである場合、より高速に実行するメカニズムがありますが、どのマシンでも実行できます)。 QEMUにはPC-BIOSが付属しています。
x86リアルモードで作業したい場合は、Dosboxもご覧ください。
Corebootもあなたの興味を引くはずです。 x86用のオープンソースBIOSです。
BIOSを見ると、ハードウェア機能が大幅に進化した30年以上の歴史から受け継がれたすべての癖を含め、x86プロセッサがどのように起動するかについての洞察が得られます。理解したいのが周辺機器との通信方法であるかどうかを確認するのは最善ではありません。そのためには、オペレーティングシステムカーネルのデバイスドライバー(Linux、またはMINIX 3などのより単純なもの)を確認してください。
また、ARMやMIPSなどの他のCPUアーキテクチャを調べて、OSとハードウェアの相互作用で一般的なものとPCアーキテクチャに固有のものを理解することをお勧めします。