ブートローダとは
ブート (または ブートストラップ 、 boot 、 bootstrap )は、 コンピュータ システムの電源を入れたときに オペレーティングシステム を起動するまでの処理の流れをいう。また、 ブートローダ ( boot loader )とは、ブート処理を行うソフトウェアを意味する。
ブートローダ
多くの コンピュータ システムでは、メモリ( ROM または RAM )上の実行コードだけを実行できる。しかし、最近のオペレーティングシステムは ハードディスクドライブ や LiveCD 、 フラッシュメモリ ( USBメモリ など)に格納されている。つまり、コンピュータの電源を入れた直後、メモリ上にはオペレーティングシステムは存在しない。コンピュータの ハードウェア だけではオペレーティングシステムがやっているような複雑なことはできないので、ディスクからプログラムをロードするというようなことはできない。ここで解決できない パラドックス が生じる。オペレーティングシステムをメモリにロードするためには、オペレーティングシステムがメモリに存在していなければならない。
このパラドックスの解決法は、 ブートローダ (または ブートストラップローダ )と呼ばれる特殊な小さい プログラム を使うことである。このプログラムはオペレーティングシステムの全ての機能を持っているわけではないが、オペレーティングシステムをロードして起動するための別のプログラムをロードするには十分な機能を持っている。多段階のブートローダがよく使われ、ある小さなプログラムから別の小さなプログラムを呼び出すということを繰り返して、最終的にオペレーティングシステムが起動される。 ブートストラップローダ ( bootstrap loader )という名前は、 ブーツ のつまみ革(strap)を自分で引っ張って自分を持ち上げようとするイメージから来ている。
初期のプログラム可能なコンピュータは、トグル スイッチ がフロントパネルに並んでいて、それを操作することによってブートローダをプログラム格納域に置いてから CPU を起動するようになっていた。そうするとCPUはブートローダを実行して、オペレーティングシステムを外部記憶メディア(例えば 紙テープ あるいは 磁気ディスク装置 )からロードすることができた。
ブートローダの擬似 アセンブラコード は以下の8個の命令に単純化できる。...






