Open5

パソコンの電源を入れたら最初に起動するものは…。

サクラ🌸サクラ🌸

パソコンの電源をポチッ!

**ピポッ!**って最近のは言わないわね(笑)

新しく増えた「情報」のテストによくある設問なので、なんとなくかじりついてみた。
模範解答が「OS」なのだけど、そうじゃないでしょう!ってツッコミが多数だったり、どの時代のパソコンなのかも問題文に書いて限定しないとマニアックな正しい答えは定まらないですよね。そもそも OS を実行起動してるの誰?

サクラ🌸サクラ🌸

いにしえの時代のパソコン

いにしえのパソコンは電源ポン!で BASIC が立ち上がり起動してました(そうでないパソコンもある)

これは、パソコンにあらかじめ入っている ROM の中に BASIC プログラムを動かすためのプログラム(基本ソフト≈OS)が入っており、電源を切っても忘れないプログラムコードが電源 ON で最初に動きます。

だけど、これだけでは汎用性が無くなってしまうので、実は BASIC 起動の前に準備プログラムが先に走り色々な状態チェックを行って現環境に最適な起動プロセスを判断し起動させています。

サクラ🌸サクラ🌸

IPL

Initial Program Load の略称。パソコンに電源が入った瞬間に起動するハードウェアに備わった機構です。無いものもあります。CPU とは別で動くものもあります。ROM に最初から入っていて CPU が実行するのもあります。それらはコンピュータを作ったメーカー独自による実装で様々です。これはいにしえのパソコンのお話。
マザーボードに CPU がちゃんと取り付けられていない、サポートされていないものが取り付けられた時にピーピー!エラー音を出すマザーボードとかは CPU とは別に、小さなマイコンなどで簡単なプログラムでチェックして動いてます。なのでコレも電源入れた時、最初に起動するプログラムとも言えます。

サクラ🌸サクラ🌸

BIOS

Basic Input/Output System の略称。IBM PC XT から始まって IBM PC AT (PC/AT互換機) = DOS/V 規格のパソコンが主に搭載しているハードウェアとソフトウェアを繋ぐ橋渡し機構。これはマザーボードに搭載された CPU から実行されて最初に起動するプログラム。PC の状態チェックからメモリの配置、ストレージの接続(認識)そして最初に起動するプログラムの読み込み。なんとたった 512-byte の boot loader を外部記憶装置 (HDD etc..) から読み出して最初のプログラムを動かします。
これも、電源を入れた時に起動するプログラムです。
参考→ブートローダー

サクラ🌸サクラ🌸

UEFI

Unified Extensible Firmware Interface 次世代の BIOS = 現在主流の PC 起動用の BIOS です。
これは電源投入時直後の少ないリソースの制限を緩和してくれるありがたい BIOS です。これはいにしえのパソコンの ROM みたいなイメージで良いのかも(笑) PC の状態チェックから、各種接続ポートの初期化、接続デバイスのネゴシエーション(グラフィックなども)メモリの配置、ブートローダー読み込み領域の確保、ブートローダー (\EFI\BOOT\boot~.efi) の読み込み…などなど OS 起動するまでの準備を整えてくれる基本プログラムです。これも電源を入れた時に起動するプログラムですね。

OS 起動後もサービスを提供するので小さな OS みたいな存在ですね。

だから模範解答は「OS」なのか?🤔💭モヤる…。