Bochs(ボックス)は、
PC/AT互換機|PC_AT互換機の
エミュレータとして、その名を知られています。2000年3月以降、GNU LGPL(GNU Lesser General Public License)に基づいたオープンソース
ソフトウェアとして公開されており、誰でも自由に利用、改変、配布が可能です。
Bochsの特徴
Bochsの最も大きな特徴は、その移植性の高さにあります。BIOSなどのごく一部を除き、大部分が標準
C++によって実装されているため、様々なプラットフォームへの移植が容易に行えます。特に、x86プロセッサの命令実行をエミュレートする機能は、x86以外のコンピュータ上でも
PC/AT互換機|PC_AT互換機のエミュレーションを可能にし、
Linux、FreeBSD、macOS、Windowsなど、多様な環境で動作するバージョンが提供されています。
QEMUもBochsと同様のエミュレーション技術を採用しており、どちらも実行環境とエミュレーション対象を柔軟に選択できるため、OSの開発や動作テストに非常に有用です。これらの
エミュレータは、実際の
ハードウェアを持たない環境でもOSや
ソフトウェアの動作を検証できるため、開発効率の向上に大きく貢献します。
しかし、エミュレーション方式には、
VMwareやXenなどの仮想マシンとは異なる点があります。
VMwareやXenでは、ユーザモードの命令をプロセッサに直接実行させるため、高い実行速度を実現できますが、BochsやQEMUは命令をエミュレートするため、実行速度では劣ります。そのため、仮想マシン環境をサービスとして利用する場合には、
VMwareやXenの方が適しているといえます。Bochsは、主に開発やテスト環境での利用に特化していると言えるでしょう。
Bochsがエミュレートできる
ハードウェアは多岐にわたります。標準構成では、
インテルPentium III相当のユニプロセッサとして動作しますが、コンパイルオプションを変更することで、386、486、Pentium、
Pentium II、さらには
Pentium 4相当のプロセッサとしてエミュレートすることも可能です。また、最大8プロセッサまでのマルチプロセッサ環境をエミュレートすることもできます。
さらに、Bochsは、以下の
チップセット、インターフェース、周辺機器のエミュレーションをサポートしています。
- Intel 440BX
- Intel i440FX
- PCI
- ISA
- USB
- IDE
- シリアルポート
- パラレルポート
- キーボード
- マウス
- グラフィックカード(VGA, SVGA)
- ハードディスク
- フロッピーディスク
-
CD-ROMドライブ
- ネットワークカード
これらのエミュレーション機能により、Bochsは非常に柔軟性の高い開発・テスト環境を提供します。特定の
ハードウェア環境に依存することなく、様々な構成でのOSや
ソフトウェアの動作検証が可能です。特に、古い
ハードウェア環境を再現する必要がある場合や、特定の
ハードウェア構成に依存した
ソフトウェアのテストを行う場合に非常に役立ちます。
まとめ
Bochsは、オープンソースで高い移植性を誇る
PC/AT互換機|PC_AT互換機エミュレータです。多様なプラットフォームで利用可能であり、x86プロセッサのエミュレーションにより、非x86環境でも
PC/AT互換機|PC_AT互換機の動作を再現できます。OS開発や
ソフトウェアテストにおいて、柔軟な環境を提供し、開発効率の向上に貢献するでしょう。
外部リンク