高等学校工業/ソフトウェア技術/OS起動の仕組み

コンピュータの起動プロセスは、ハードウェアとソフトウェアが連携して、システムを起動し動作可能な状態にする手順です。
一般的に、コンピュータの起動プロセスは以下の手順で行われます:
以上が一般的なコンピュータの起動プロセスの手順です。このプロセスは、BIOSやUEFIなどのファームウェア、ブートローダー、およびOSの特定の設定によって異なる場合があります。
UEFI(Unified Extensible Firmware Interface)は、従来のBIOS(Basic Input/Output System)の後継として設計された、コンピュータの起動プロセスを管理するための仕組みです。 UEFIは、ハードウェアとソフトウェアの間のインターフェースとして機能し、より柔軟性があり、機能的に豊富な起動環境を提供します。
UEFIによるOSの起動プロセスは次のような手順で行われます:
以上がUEFIを使用したOSの起動プロセスの基本的な手順です。UEFIは、従来のBIOSよりも柔軟性があり、セキュリティ機能が強化されているため、現代のコンピュータシステムで広く採用されています。
UEFIには、起動の他に以下の機能があります。
UEFI(Unified Extensible Firmware Interface)とBIOS(Basic Input/Output System)は、コンピュータの起動プロセスを管理するための異なる技術です。それぞれの方式でOSを起動する際の主な違いは次のとおりです:
これらの違いにより、UEFIはより現代的で柔軟性があり、セキュリティが強化された起動方式として、従来のBIOSよりも広く採用されるようになっています。
以下は、BIOSとUEFIを使用したパーティション構成の比較を表形式で示したものです:
この表を通じて、BIOSとUEFIの主な違いがより明確になるでしょう。 UEFIはより現代的で柔軟性があり、セキュリティ機能も強化されています。
以下は、OS起動関連の用語集です:
これらの用語は、コンピュータの起動プロセスやファームウェア、ブート方式などに関連する概念を理解するのに役立ちます。



この項目では、インテルアキテクチャについて限って説明します。 なので、スマートホンやタブレットあるいはiPhoneやiPadなど多くのARMアーキテクチャやそれ以外のアーキテクチャについては適用できない部分もあります。また、アーキテクチャだけに限定されません。
POSTとは、コンピューターなどのデジタル電子機器の電源を入れた直後に、ファームウェアやソフトウェアのルーチンによって実行される処理のことです。
ここでは主にパソコンのPOSTについて説明しますが、家電製品、航空電子機器、通信機器、医療機器などの多くの組み込みシステムにも、電源投入時に自動的に起動されるセルフテストのルーチンがあります。
POSTの結果は、機器の一部であるパネルに表示されたり、外部機器に出力されたり、診断ツールで検索できるように保存されたりします。セルフテストでは、通常の人間が読めるディスプレイが機能していないことが検出される可能性があるため、エラーコードを点滅やビープ音で表示するためのインジケータランプやスピーカを備えてもよい。POSTプロセスは、テストを実行するだけでなく、ファームウェアから機器の初期状態を設定することもある。
コンピュータの場合、POSTルーチンはデバイスのプリブートシーケンスの一部であり、POSTルーチンが正常に完了すると、ブートストラップローダーコードが起動してオペレーティングシステムがロードされる。
POSTの主要な働きとしては
など
があります。
BIOS(Basic Input/Output System)は、レガシーなファームウェアシステムであり、かつてはパーソナルコンピュータで広く使用されていました。BIOSは、コンピュータの起動時にハードウェアを初期化し、オペレーティングシステムを読み込む役割を果たします。
しかし、BIOSにはいくつかの制約があり、特に大規模で高度な機能が求められる現代のシステムにおいては限界がありました。これに対して、UEFI(Unified Extensible Firmware Interface)はBIOSの後継として開発され、より柔軟で先進的なファームウェアインターフェースを提供しています。
UEFIは、BIOSよりも多くの機能を持ち、高度なセキュリティ、ネットワーキング機能、先進的な起動手順などをサポートしています。また、UEFIは32ビットおよび64ビットアーキテクチャをサポートし、BIOSよりも柔軟な開発環境を提供しています。
また、Windows 11は、UEFI(Unified Extensible Firmware Interface)をサポートするシステムでのみインストールおよび実行できます。つまり、Windows 11を実行するためには、UEFIが有効なシステムが必要です。
現代のパーソナルコンピュータやサーバーでは、UEFIが主流となりつつあり、新しいハードウェアやオペレーティングシステムがUEFIに対応しています。しかし、一部のレガシーシステムや一部の組み込み機器などでは、今でもBIOSが使用されていることがあります。
IBM PC互換機では、POSTの主な役割はBIOSが担っていますが、特にビデオやSCSIの初期化など、特定の周辺機器を初期化するために設計された他のプログラムにその役割の一部を委ねることがあります。これらのプログラムは一般的にオプションROMと総称され、個々にはビデオBIOSやSCSI BIOSなどと呼ばれています。
POST時のメインBIOSの主な役割は以下の通りです。
上記の機能は、最初のバージョンまでのすべてのBIOSでPOSTによって提供されています。それ以降のバージョンのBIOSでは、POSTは以下の機能も備えています。
(初期のBIOSでは、POSTはブートデバイスの整理や選択を行わず、単にフロッピーディスクやハードディスクを特定し、システムは常にその順番で起動しようとしました)
BIOSは、プロセッサがリセットされるとPOSTを開始します。CPUが最初に実行しようとするメモリの場所は、リセットベクタと呼ばれます。ハードリブートの場合、ノースブリッジは、このコードフェッチをシステムフラッシュメモリ上にあるBIOSに指示します。ウォームブートの場合、BIOSはRAMの適切な場所に配置されており、ノースブリッジはリセットベクターコールをRAMに向けます。(チップセットが標準装備される以前のPCシステムでは、BIOS ROMはリセットベクターを含むアドレス範囲に配置されており、BIOSはROMから直接実行されていました。マザーボードのBIOS ROMがコンベンショナルメモリマップのセグメントF000にあるのはこのためです)。
現代のBIOSのPOSTフローの中で、BIOSが最初にすべきことの1つは、実行している理由を決定することです。例えば、コールドブートの場合は、すべての機能を実行する必要があります。しかし、システムが省電力やクイックブート方式をサポートしている場合、BIOSは標準的なPOSTのデバイス検出を回避し、事前にロードされたシステムデバイステーブルからデバイスを単純にプログラムすることができるかもしれません。
PCのPOSTフローは、非常にシンプルでわかりやすいプロセスから、複雑で入り組んだプロセスへと発展してきました。POSTの間、BIOSは、簡単なメモリテストとセットアップ画面が表示されるだけで、PCがサポートすることが期待されるハードウェアとOSのマトリックスのために、多数の競合、進化、さらには相互に排他的な標準とイニシアティブを統合しなければなりません。
2000年前後の初期のBIOSでは、POSTは、完全なメモリテストを含むすべてのデバイスの完全なテストを行いました。IBMのこの設計は、コールドスタートプロセスの一部として完全なハードウェアテストを実行する大型システム(メインフレームなど)に倣ったものです。PCのプラットフォームが一般消費者向けに進化するにつれ、メインフレームやミニコンピュータにヒントを得た、パリティメモリやPOSTごとの徹底したメモリテストなどの高信頼性機能は、ほとんどのモデルで廃止されました。これには、PCのメモリサイズが指数関数的に大きくなり、それに伴ってメモリの価格も指数関数的に下がったことが影響しています。これは、あるCPUを使ったメモリテストの時間がメモリサイズに正比例するためです。