フリーキーズ | 独学プログラミング

ブートストラップ(bootstrap)とは

最終更新日

情報科学やコンピューティングの文脈では、「ブートストラップ」という用語は、コンピュータシステムが電源オフの状態から起動する、つまり「ブート」するプロセスを指します。この用語は、最小限のリソースで何かを成し遂げる、あるいは何もないところから始めることを意味する「to pull oneself up by one's bootstraps」というフレーズに由来しています。コンピュータの場合、ブートストラップ・プロセスは一連のステップを含み、各ステップで小さなソフトウェアをロードしてシステムを次のステージに準備し、最終的には完全なオペレーティング・システムをロードして使用できる状態にします。

一般的なコンピュータシステムにおけるブートストラッププロセスの簡略化された例

1. 電源投入

コンピュータの電源を入れると、BIOS(Basic Input/Output System)やUEFI(Unified Extensible Firmware Interface)と呼ばれる小さな専用メモリに格納された命令の実行が開始されます。

2. ブートローダ

BIOS/UEFIは、ブートローダと呼ばれる小さなプログラムを見つけ、コンピュータのストレージデバイス(ハードドライブやSSDなど)の特定の場所に保存してロードします。ブートローダーの主な機能は、オペレーティングシステムを検索してロードすることです。

3. オペレーティングシステム

ブートローダは、オペレーティングシステム(Windows、macOS、Linuxなど)をコンピュータのメモリ(RAM)にロードします。その後、オペレーティングシステムは、コンポーネントを初期化し、デバイスドライバをロードし、ユーザーとの対話のための環境を設定します。

4. ユーザーとの対話

オペレーティングシステムが完全にロードされると、ユーザーにはログイン画面やデスクトップ環境が表示され、コンピュータを使用できる状態になります。

別の文脈で使われるBootstrap

コンピューティングにおける意味の他に、「ブートストラップ」は他の文脈でも使われ、最小限の外部リソースを必要とする自己起動型のプロセスや方法を表現します。例えば、Web開発では、Bootstrapは、開発者が最小限の労力とコーディングで、レスポンシブでモバイルファーストなWebサイトを作成できるようにする、人気のあるオープンソースのフレームワークです。

まとめ

要約すると、情報科学において「ブートストラップ」は、コンピュータシステムが電源オフの状態から起動するプロセスを指します。このプロセスには一連のステップがあり、各ステップで小さなソフトウェアがロードされてシステムを次のステージに準備し、最終的には完全なオペレーティングシステムがロードされてコンピュータが使用できるようになります。また、「ブートストラップ」という用語は、他の文脈では、自己起動型のプロセスや、外部リソースを最小限に抑える方法を表すために使用されることもあります。