最後に補足説明をさせてください。非常に低レベル(ハードウエアに近い部分)のお話です。プログラムの動作環境には、「BIOS(Basic Input/Output System、バイオス)」というものもあります。BIOS は、ROM に記憶され、あらかじめコンピュータ本体に内蔵されているプログラムです。BIOS は、キーボードやディスク装置などの基本制御プログラムのほか、「ブート・ストラップ・ローダー」を起動する機能を持っています。

 ブート・ストラップ・ローダーは、起動ドライブの先頭領域に記憶された小さなプログラムです。起動ドライブは、一般的にハード・ディスクですが、光ディスクやUSB メモリーにすることもできます。

 コンピュータの電源を入れると、BIOS がハードウエアの正常動作を確認し、問題なければブート・ストラップ・ローダーを起動します。ブート・ストラップ・ローダーの役割は、ハード・ディスクなどに記録さたOS をメモリーにロードして実行することです。アプリケーションを起動するのはOS の役割ですが、そのOS も自分自身は起動できません。OS は、ブート・ストラップ・ローダーによって起動されるのです。

 ブート・ストラップ(boot strap)とは、ブーツの上部に付いている「つまみ革」という意味です。BIOS という小さなプログラム(つまみ革)が、OS という大きなプログラム(ブーツ)を引き上げる(起動する)ことから、この名前が付けられたといわれています(図7-8)。OS が動作した状態になっていれば、プログラマがBIOS やブート・ストラップ・ローダーのことを意識する必要はありませんが、それらが存在することを覚えておいてください。