BIOS (Basic Input/Output System)

BIOS は、起動時に PC やその周辺機器を動作させるための中心となるソフトウェアです。

BIOS の特徴は以下の通り。

  • ハードウェアの初期化
    BIOS は、PC に搭載されている各機器(CPU、chipset、HDD、FDD、etc.)の初期化を行います。初期化の設定を変更する場合、初期化中に特定のキー([Del]とか[F1]とか[F2]辺り)を押すことで BIOS 設定画面に移行します。
  • PnP (Plug and Play) の制御
    BIOS は、ハードウェア初期化時にハードウェアのリソース(Memory, I/O, DMA,...)を取得し、管理します。BIOS が保存されている EEPROM 内の一部分には各リソース情報を格納する場所が用意されています。ハードウェア設定の変更が行われた場合、この場所が逐次読み書きされることになります。
    今はもう殆ど見ることの無くなったのですが、PC/AT の原型である ISA BUS のボードは、この設定を返却する術を持っておらず、ユーザーが手動で ISA ボードのリソースを管理する必要がありました。PnP 対応の ISA ボードも出荷されましたが、BIOS、ISA ボード、OS のバグが多く、制御が面倒なことよりあまり流行らなかった記憶があります。
    結局、ハードウェア内に PnP の要素を初めから組み込まれた PCI バスに置き換わり、PNP対応 ISA は日の目を浴びることはあまりありませんでした。
  • システムの起動
    BIOS は初期化が終わると、次にシステムを起動しようとします。指定された Storage (HDD, FDD, USB メモリ)の先頭のデータを確認し、boot の用意があるかを確認します。boot 出来る Storage がまったく無い場合、エラーを表示します。
    #昔だと BASIC ROM が起動することが多かったのですが =)。
  • Power Management の管理
    システムの電源制御を直接行うのも、かつては BIOS の仕事でした(APM)。現在は OS の電源制御の補助としての役割に留まっているようです(ACPI)。
  • EFI
    EFI は、Intel 社が中心となって開発を行っている次世代 BIOS です。BIOS は昔からの開発が続けられて今日まで来ましたが、BIOS 特有の制限や Assembler レベルでの開発しか行えないことによる流用性の無さが問題になっています。
    EFI は上記の問題を解決するために考案されました。ただし、BIOS からの脱却は、今までの互換性の廃棄に繋がる大きな変革で、あまりメリットが無いからかあまり食いつきは宜しくないように見えます。
    最近では Pentium Mac が EFI をサポートしたことで話題になりましたが、あれは過去のシガラミがまったくと言っていいほどないので EFI が選択できたんだろうな、と想像します。

関連情報

  • 津留雅文の「BIOS開発論」 (IT Pro)
    要登録。日経バイト2004年2月号の転載記事。書籍「ソフトウェアの匠」にも掲載されています。Phoenix 社の中の人が書き下ろした記事で、BIOS に関して詳しく説明しています。お勧め
  • The x86 Interrupt List
    BIOS/DOS の Interrupt list 集。有名な INT 21h はかなり充実しています。Virus の Int. まで記載があってナカナカお茶目、いや、参考になります。最近更新していないのが少し寂しい。

用語

特集記事

インタビュー記事

  • AMIBIOS8――BIOSの新しい可能性 (ITmedia, 03.07.29)
    AMI 日本支社へのインタビュー記事。BIOS もどんどんニッチな分野になっている、ような。x86 が現役なら喰いっぱくれは無さそう。

News

仮置き場


Last-modified: 2007.03.06 (火) 04:54:59 (3493d)