(Translated by https://www.hiragana.jp/)
Basic Input/Output System - Wikipedia

Basic Input/Output System

ハードウェアと入出力にゅうしゅつりょくおこなうためのファームウェア
BIOSから転送てんそう

Basic Input/Output System(ベーシック インプット/アウトプット システム、頭字かしらじBIOS(バイオス))とは、ファームウェアひとつで、コンピュータ搭載とうさいされたプログラムのうち、ハードウェアもっとていレベルな入出力にゅうしゅつりょくおこなうためのプログラムである。

ROM形式けいしき提供ていきょうされるBIOSのれいアダプテックしゃせいSCSIカード、AHA-2940よりBIOS ROM拡大かくだい撮影さつえい
1980ねんだいDell 310コンピュータに使用しようされていた1くみのAMD BIOSチップ。

おおきく意味合いみあいとして

  • IBM PC XTから搭載とうさいされている仕組しくみ。UEFIとは同列どうれつ概念がいねん
  • 一般いっぱんてきなコンピュータハードウェア資源しげん入出力にゅうしゅつりょくするプログラム。UEFIやIBM PC XTやMSXなどのBIOSの上位じょうい概念がいねん

がある。

概要がいよう

編集へんしゅう

BIOSはパーソナルコンピュータ(PC)にまれており、電源でんげん投入とうにゅう同時どうじ実行じっこうされる。ハードウェアを初期しょき補助ほじょ記憶きおく装置そうちからブートローダーす。またキーボードディスプレイなどの入出力にゅうしゅつりょく装置そうちをプログラムから利用りようするためのサービスを提供ていきょうする。プログラムはハードウェアに直接ちょくせつアクセスするのではなく、これらサービスを利用りようすることでハードウェアにしなくてくなる。ただし近代きんだいてきなオペレーティングシステム (OS) はこの抽象ちゅうしょうそう使用しようせず、OSのデバイスドライバ直接ちょくせつ制御せいぎょする場合ばあいおおい。

IBM PC/XTのオリジナルのBIOSにはユーザインタフェースく、基板きばんじょうのジャンパスイッチで設定せっていした。システム不具合ふぐあいはエラーメッセージとブザーおん通知つうちした。近代きんだいてきなPCでは、起動きどう特定とくていのキーをすことで設定せっていプログラムが起動きどうし、画面がめんとキーボードで設定せっていおこなえる。

1980年代ねんだいより1990年代ねんだい中盤ちゅうばんまで主流しゅりゅうであったMS-DOSディスク、キーボード、画面がめん表示ひょうじなどBIOSのサービスに依存いぞんしていた。Microsoft Windows NTLinuxプロテクトモード動作どうさちゅうのOSでは一般いっぱんにOSのロードと起動きどうまでをにない、起動きどうBIOSみルーチン使用しようしない。

BIOSはマザーボード不揮発ふきはつせいメモリ格納かくのうされ、デバイスとチップセットインタフェースになう。初期しょきのモデルではEP-ROMとう格納かくのうされ、BIOSはマザーボードからチップをはずし、専用せんよう装置そうちえたのちさい装着そうちゃくする必要ひつようがあった。近代きんだいではフラッシュメモリ格納かくのうされ、はずしなしでもえが可能かのうである。これにより更新こうしんやバグ修正しゅうせい容易よういになったわりにRootkit脆弱ぜいじゃくになる可能かのうせいしょうじた。

2010ねんからUnified Extensible Firmware Interface (UEFI) に移行いこうされている[1]。UEFIはBIOSの技術ぎじゅつてき問題もんだい対処たいしょすることを目的もくてきとした後継こうけいである[2]

用語ようご歴史れきし

編集へんしゅう
/* C P / M   B A S I C   I / O    S Y S T E M    (B I O S)
                    COPYRIGHT (C) GARY A. KILDALL
                             JUNE, 1975 */
[...]
/*  B A S I C   D I S K    O P E R A T I N G   S Y S T E M  (B D O S)
                    COPYRIGHT (C) GARY A. KILDALL
                            JUNE, 1975 */

ローレンス・リバモア研究所けんきゅうじょ (LLL) に提供ていきょうされたCP/M 1.1または1.2のPL/Mソースコードより、BDOS.PLMのファイルヘッダー抜粋ばっすい[3]

ゲイリー・キルドールCP/M用語ようごとして1975ねんはじめてBIOSをもちいた。OS起動きどうにマシン固有こゆうのハードウェアにアクセスする部分ぶぶん記述きじゅつしていた。のち機種きしゅにも使つかわれ、PC/AT互換ごかんでもデファクトスタンダードとなった。

MS-DOSやPC DOSDR-DOS存在そんざいするファイル "IO.SYS"、"IBMBIO.COM"、"IBMBIO.SYS"、"DRBIOS.SYS" などを"CP/M BIOS" になぞらえて "DOS BIOS" と場合ばあいがある(一般いっぱんCP/M対応たいおうROMには簡素かんそなブートローダーしかない)。

PS/2でIBMはBIOSをリアルモードとプロテクトモードに分割ぶんかつした。リアルモード既存きそんのOS(DOSとう)との互換ごかんせい目的もくてきとし "CBIOS" (Compatibility BIOS) とび、OS/2などのマルチタスクOSのために作成さくせいされた部分ぶぶんを"ABIOS"(Advanced BIOS)とんだ。

ユーザーインタフェース

編集へんしゅう

IBM PCとXTの時代じだいには設定せっていユーザーインタフェース (UI) はマザーボードじょうディップスイッチであった。それ以降いこう画面がめん表示ひょうじされたメニューをキーボードで操作そうさするインタフェースである。マウス(ポインティングデバイス)による操作そうさ出来できるものもある。以降いこう80286CPU搭載とうさいまでは電池でんちでバックアップされたCMOS保存ほぞんされていた。IBM ATではビデオカード、メモリーサイズ、ハードディスク設定せっていするには、ROMのプログラムではなく "reference diskette" という特別とくべつなディスクを挿入そうにゅうしておこなわなければならなかった。

PC/AT互換ごかんPCではセットアップユーティリティで各種かくしゅ設定せっていをする。この方式ほうしきは1990年代ねんだいからわっていない。ユーザーは画面がめん表示ひょうじされたメニュー形式けいしきのインターフェースをキーボードで操作そうさする。ブートに失敗しっぱいした場合ばあいにはテキストメッセージが表示ひょうじされ、ユーティリティで設定せってい修正しゅうせいする、無視むしして続行ぞっこうするひとしのユーザーフレンドリーな表示ひょうじ可能かのうである。またBIOS設定せってい電池でんちでバックアップされたRAMではなくフラッシュROM格納かくのうするものもある。

設定せってい画面がめんをBIOSとしょうするきもあるが厳密げんみつにはあやまりである。

ハードウェアアクセスの共通きょうつう

編集へんしゅう

ハードウェアへのアクセスはおも入出力にゅうしゅつりょくレジスタ操作そうさおこなうが、その動作どうさ配置はいちはハードウェアしゅによってことなる。また、きのタイミングや順序じゅんじょにも手順てじゅんがある。このためアクセス手順てじゅんアプリケーション記述きじゅつするより、ハードウェアしゅごとサブルーチン用意よういするほう有用ゆうようでありこれがBIOSである。ISAPCIなどではボードのROMにBIOSプログラムがあり、これはメモリうえ展開てんかいされてアプリケーションから利用りようされる。マザーボードがわのBIOSをSystem BIOS拡張かくちょうカードのBIOSを拡張かくちょうBIOS区別くべつしてぶことがある。

また同種どうしゅのハードウェアでも操作そうさ方法ほうほうことなる場合ばあいもある。これに対処たいしょするためBIOSのしインタフェースは共通きょうつうされており、アプリケーションはBIOSサービスをぶだけで複数ふくすうのデバイスに対応たいおうできる。このような共通きょうつうインタフェースはアプリケーションバイナリインタフェース(ABI)とばれる。

れいとして、PC/AT互換ごかんVGA BIOS(Video BIOS、ビデオバイオスとも)は、共通きょうつうされたABIをことでハードウェアのちがいを意識いしきせず文字もじ画像がぞう表示ひょうじ可能かのうにした。これはビデオカードのROMに実装じっそうされた拡張かくちょうBIOSである。 同様どうようにハードディスク、フロッピーディスク、キーボードなどさまざまな入出力にゅうしゅつりょく処理しょりおこなうBIOSが存在そんざいするが、これら基本きほんてきなものはSystem BIOSでありマザーボードのROMに実装じっそうされる。

しかし、上記じょうき有効ゆうこうなのはOSがシングルタスクがた場合ばあいであり、マルチタスクOSではデバイスドライバが処理しょりおこなう。とくリエントラント考慮こうりょされていないBIOS[4]もあり、かくアプリケーションが非同期ひどうきにこれをすとOSはハードウェアリソース管理かんり困難こんなんになる。このためハードウェア管理かんりはデバイスドライバが一元いちげんてきおこない、アプリケーションはOSのシステムコール利用りようする。

やむをずBIOSをしたい場合ばあい専用せんようのシステムコールで可能かのうだが、そのハードウェアがOSに保護ほごされている場合ばあい動作どうさするとはかぎらない。

みシステムではハードウェアのバリエーションがすくなく、BIOSのようななかあいだそうインタフェースはたないためファームウェアばれることがおおい。

電源でんげん投入とうにゅう、ハードウェアの初期しょきおよびブートローダーをむプログラムが必要ひつようになる。つまり補助ほじょ記憶きおく装置そうちからファイルみがおこなえる状態じょうたいになるまでのプログラムをROMに用意よういしておく必要ひつようがある。これらのプログラムはInitial Program Loader (IPL) やブートストラップローダともばれる。

プロセッサがリセットされると、リアルモードのアドレス空間くうかん1MBのうちさい後尾こうび付近ふきんのアドレス(0FFFF0h 番地ばんち)にある命令めいれい実行じっこうする。そのアドレスにしるされたジャンプ命令めいれいにより、BIOSの実行じっこうコードの先頭せんとうにジャンプして処理しょり開始かいしされる。電源でんげん投入とうにゅうされた場合ばあい(「コールドブート」)はPower On Self Test (POST) が実行じっこうされ、リセットボタンがされた場合ばあい(「ウォームブート」)はPOSTを省略しょうりゃくし、メモリのテストにかかる時間じかん節約せつやくする。

Power On Self Testは、CPU、RAM、DMAコントローラなどの搭載とうさいデバイスのほかに、チップセット、ビデオカード、キーボード、ハードディスク、光学こうがくドライブなどのハードウェアのシステム構成こうせいをテスト、認識にんしき初期しょきする。いでBIOSは起動きどうデバイスに指定していされた記憶きおく装置そうちさがし、ブートローダープログラムの場所ばしょ特定とくていして実行じっこう、PCにコントロールをゆだねる。この過程かていをブートストラップ、りゃくしてブートぶ。

PC/AT互換ごかんのように、様々さまざま種類しゅるいのハードウェアが増設ぞうせつ可能かのう場合ばあい初期しょき手順てじゅんやハードウェア構成こうせい自由じゆうたせておく必要ひつようがある。初期しょき内容ないようなどをディップスイッチやソフトスイッチ設定せっていできる場合ばあいがある。

BIOS拡張かくちょう

編集へんしゅう

IBM PCおよびAT互換ごかん場合ばあい、ハードディスクやビデオカードはBIOSを拡張かくちょう追加ついか機能きのう提供ていきょうするオプションのROMを搭載とうさいしている。拡張かくちょうのプログラムはOSが補助ほじょ記憶きおく装置そうちからされるまえ実行じっこうされる。これらプログラムはハードウェアのテストと初期しょきおこない、BIOSにあたらしいサービスを提供ていきょうあるいは既存きそんのものを上書うわがきする。

たとえばSCSIコントローラーは接続せつぞくされたドライブにアクセスするBIOSを提供ていきょうし、ビデオカードではマザーボードに搭載とうさいされたBIOSのビデオカードにってわる。

BIOS拡張かくちょうROMはPC全体ぜんたいのコントロールを取得しゅとくでき、事実じじつじょうなんでもおこなうことができる。がわのBIOSに制御せいぎょけんかえさないこともありうる。原理げんりてきにはOSまたはアプリケーションをまるごと搭載とうさいすること出来できる。また、ネットワークからブートするようなまったちがうブートプロセスにすることもできる。IBM PC互換ごかんではBIOS拡張かくちょうROMを搭載とうさいしたアダプタカード(やROMチップ)を着脱ちゃくだつすることで、動作どうさまったちがうものに変更へんこうできる。

マザーボードのシステムBIOSはブートに必要ひつようなキーボード、ディスプレイ、ストレージなどのコードを内蔵ないぞうしている。アダプタカード(SCSI、RAID、ネットワークインタフェースカード、ビデオボードなど)は独自どくじのBIOSを搭載とうさいしており、これらはシステムBIOSをえる。マザーボードにまれたオンボードデバイスでも動作どうさ同様どうようである。それらのROMはBIOSのフラッシュメモリじょうでも別々べつべつのコードになっているため、システムBIOSと同時どうじまたは別々べつべつにアップグレードすることもできる。

あるアダプタカードがブート必須ひっすでありかつシステムBIOSがこれをサポートしていない場合ばあい、オプションROMが必要ひつようとなる。また、オプションROMがあればストレージドライバがなくてもブート途中とちゅうにデバイスにアクセスできるようになる。RAMやハードディスクを占有せんゆうする必要ひつようもない。また、デバイスとドライバがかならずセットであるためインストールが不要ふようという利点りてんもある。

システムBIOSと拡張かくちょうROMの内容ないよう調しらべるには多数たすう手法しゅほうとユーティリティがあり、いちれいとしてはマイクロソフトDEBUGUnixけいdd (UNIX)がある。

初期しょき

編集へんしゅう

マザーボードじょうのBIOSはPOST完了かんりょうした時点じてんで、ほとんどのバージョンの場合ばあいオプションROMモジュール(BIOS拡張かくちょうROM)をさがしに実行じっこうする。 BIOSは"Upper Memory Area"空間くうかん(x86リアルモードでは0xA0000以上いじょうのアドレス空間くうかん)をスキャンして、発見はっけんされたROMのコードを順次じゅんじ実行じっこうする。ISA カードじょうのROMをさが場合ばあい、BIOSは0x0C0000 から 0x0F0000空間くうかんを2 KiB ごと領域りょういきでスキャンして"0x55""0xAA"という連続れんぞくした2バイトのシグネチャさがしてROMのプログラムのエントリポイントり、先頭せんとう512バイトのブロックのチェックサム算出さんしゅつして、ROMのチェックサムと一致いっちすればBIOSはそのエントリーアドレスに制御せいぎょうつす。するとBIOS拡張かくちょうROMは拡張かくちょう機能きのう初期しょきルーチンの実行じっこうはじめる。

この時点じてん拡張かくちょうROMは実行じっこう引継ひきつぎ、一般いっぱんてきには対象たいしょうハードウェアのテストと初期しょき、ブートのアプリケーションから利用りようするベクターの登録とうろくおこなう。拡張かくちょうROMはユーザー設定せっていインタフェース(診断しんだん情報じょうほう表示ひょうじその)や必要ひつよう動作どうさのためにBIOSとそれまでにまれたBIOS拡張かくちょうROMのサービスを利用りようする。

オプションROMは一般いっぱんてきには初期しょきプロセスの完了かんりょうにはBIOSに制御せいぎょかえす。制御せいぎょかえされたBIOSは、さらにオプションROMがないかメモリ空間くうかん末尾まつびまでサーチをすすめ、つけたじゅん動作どうさかえす。

BIOSに分類ぶんるいされるプログラム

編集へんしゅう
VGA BIOS
ビデオサブシステム(おもにテキストとてい解像度かいぞうどグラフィクス)
VESA BIOS
ビデオサブシステム(SVGAグラフィクス)
SCSI BIOS
ディスクI/Oサブシステム(拡張かくちょうSCSIもこの形態けいたいをとる)
APM BIOS
初期しょきのパワーマネジメントシステム。のち改良かいりょうされてACPI BIOSの一部いちぶとなる。
PCI BIOS
I/Oサブシステム。のちにACPI BIOSの一部いちぶとなる。
ACPI BIOS
現在げんざい主流しゅりゅうとなっている[独自どくじ研究けんきゅう?]パワーマネジメントシステムおよびI/Oサブシステム
SMBIOS
システムマネジメントBIOS。BIOSないのデータ構造こうぞう配置はいち・アクセス方法ほうほう規格きかくSMBIOS参照さんしょう

オペレーティングシステムサービス

編集へんしゅう

プロセッサのマイクロコード更新こうしん

編集へんしゅう

IntelのP6マイクロアーキテクチャ世代せだい以降いこうでは、プロセッサのマイクロコードにたいするパッチをBIOSにふくめることができる。マイクロコードはシステムが起動きどうするたび更新こうしんされる。この仕組しくみのない時代じだいにはCPUのバグがあるとCPUのえになり、過去かこ事例じれいではPentium FDIV バグによるCPUのリコールが発生はっせいしたことがある。

識別しきべつ

編集へんしゅう

デルなどが提供ていきょうする一部いちぶのBIOSは "SLIC" (software licensing description table) という電子でんし署名しょめい内蔵ないぞうしている。(一部いちぶではBIOSタトゥー(刺青しせい)と俗称ぞくしょうされる) SLICはACPIテーブルに挿入そうにゅうされており、実行じっこうコードはふくまない。

コンピュータメーカーはWindowsやマイクロソフトせいアプリケーションをバンドルするにあたりSLICをもとに認証にんしょうするれいがあり、またWindowsソフトウェアをふくむシステムリカバリーディスクもこれを利用りようする。SLICありのシステムでは、コンピュータ製品せいひん対象たいしょうにしたOEMプロダクトキーでソフトウェアがあらかじめアクティベートしてあり、BIOSのSLICにかれたXML形式けいしきのOEM証明しょうめいしょ照合しょうごうすることで自動じどうアクティベートが実現じつげんされている。ユーザーがWindowsのクリーンインストールをおこな場合ばあいには、OEMキーとSLIC認証にんしょう両方りょうほうそろっていないとアクティベーションを回避かいひできないが、本来ほんらいはOEMによりあらかじめカスタマイズされたイメージでリストアするべきものであるため状況じょうきょうとしてはかんがえにくい。海賊版かいぞくばんWindowsでは、アクティベーションを回避かいひするためにSLICを編集へんしゅうするかエミュレートしている。

オーバークロック

編集へんしゅう

一部いちぶのBIOSではオーバークロック機能きのう提供ていきょうする。これはCPUのクロック周波数しゅうはすうをメーカーの保証ほしょうよりたかげるものである。しかしながらオーバークロックはコンピューターの冷却れいきゃく不足ふそくによる信頼しんらいせい低下ていか寿命じゅみょう短縮たんしゅくまね深刻しんこく悪影響あくえいきょうがある。

不適切ふてきせつなオーバークロック設定せってい部品ぶひんのオーバーヒートをまねき、機械きかいてきにコンピュータをこわしてしまうこともありうる。

近年きんねん使つかわれかた

編集へんしゅう

近年きんねんのBIOSはこれまでに紹介しょうかいした以上いじょう複雑ふくざつな、たとえばAdvanced Configuration and Power Interface (ACPI)機能きのう装備そうびしており、電源でんげん管理かんりホットスワップ温度おんど管理かんりなどを提供ていきょうする。

近年きんねんUnified Extensible Firmware Interface (UEFI) への移行いこうすすんでいる。

設定せってい

編集へんしゅう

設定せっていユーティリティ

編集へんしゅう

IBM PCやXT時代じだい設定せっていようユーザーインタフェースはマザーボードじょうのディップスイッチをもちいてビデオアダプタのタイプ、メモリーサイズ、ハードディスクのパラメータなど設定せっていしたが、80286 CPU登場とうじょう以降いこうのIBM PC互換ごかんでは「リファレンスディスケット」とばれるフロッピーディスクから起動きどう画面がめん表示ひょうじされ、キーボードから操作そうさし、不揮発ふきはつせいBIOS実装じっそうメモリー(CMOS RAM チップ)に設定せってい記憶きおくするようになった。

80386世代せだい以降いこうのコンピュータではBIOSセットアップユーティリティをBIOS自身じしんみむようになり、一般いっぱんに、起動きどうに "Press F1 to enter CMOS Setup." のような表示ひょうじあいだ特定とくていのキーをすことでメニューにはいることができ、すキーは機種きしゅによってことなっている。BIOSのUIでは

  • ハードウェアの設定せってい
  • システム時刻じこく設定せってい
  • システムないコンポーネントの有効ゆうこう/無効むこう
  • ブートさせるデバイスの選択せんたく
  • BIOS設定せってい保護ほごするパスワード画面がめん承認しょうにんされていない記憶きおくデバイスの挿入そうにゅうによる起動きどう防止ぼうし

などを設定せっていすることが出来できる。

 
一般いっぱんてきなPCの Award BIOS 設定せっていユーティリティ
 
2011ねん現在げんざいではパラメータ保存ほぞんようCMOSメモリはサウスブリッジ実装じっそうされる

近年きんねんのPCでは起動きどうのハードウェア初期しょきおおくの項目こうもく自由じゆうがあり、設定せってい内容ないよう一部いちぶをユーザーが指示しじできるようになっている。この場合ばあいVGA BIOSなどが正常せいじょう起動きどうしたあと、特定とくていのキー操作そうさメニュー形式けいしき画面がめんじょう項目こうもく表示ひょうじすることができ、キーボードを使つかって設定せってい内容ないよう編集へんしゅうし、終了しゅうりょうにバッテリバックアップされたレジスタに保存ほぞんすることができる。編集へんしゅう画面がめん以前いぜんとはことなった内容ないよう保存ほぞんした場合ばあいは、そのあらたなメモリ内容ないようでハードウェアの初期しょき開始かいしされる。また次回じかい以降いこう起動きどうにこのメモリの内容ないようにしたがってハードウェアが初期しょきされる。このパラメータ設定せっていおこなうソフトウェアや設定せってい画面がめんを BIOS Setup(バイオスセットアップ)とび、CMOS Setup(シーモスセットアップ)とも通称つうしょうされる。

プラグアンドプレイは、ハードウェアのメモリマップや要求ようきゅう信号しんごう (IRQ) をプログラマブルに変更へんこうできる機能きのうで、従来じゅうらいはジャンパーピンなどで設定せっていしていたものを、BIOSプログラムが起動きどう一定いってい手順てじゅん自動的じどうてき設定せっていするものである。BIOSのパラメータ設定せってい容易よういにするために登場とうじょうした機構きこうであるが、ISAのPnPデバイスでは一部いちぶ不完全ふかんぜん問題もんだい発生はっせいすることがあり、手動しゅどう設定せってい必要ひつよう場合ばあいがある。そのさいに、設定せってい変更へんこうするにもメニュー設定せってい画面がめん表示ひょうじまでBIOS起動きどう進行しんこうしないことがあり、そうなると問題もんだい解決かいけつはかえって複雑ふくざつになる。

マザーボードリソースの設定せっていも、動作どうさクロックや電源でんげん電圧でんあつといったハードウェアに密接みっせつした設定せっていもメニューから変更へんこう可能かのう場合ばあいがある。基本きほんてきには自動じどう設定せっていもしくは初期しょき適切てきせつをとるが、自動じどうでの設定せっていがうまくいかない場合ばあいとうそなえ、任意にんい設定せっていおこなうことも可能かのうにしてあるものもある。なかにはハードウェアのていかく動作どうさはんするオーバークロックといった仕様しようもとづいた設定せっていとしては不適切ふてきせつ状態じょうたいにすることも可能かのうであり、その設計せっけいマージンや個体こたいによって、起動きどうできない状況じょうきょう発生はっせいする場合ばあいもある。それが設定せってい範疇はんちゅう故障こしょうこさないものであれば、後述こうじゅつのように設定せってい初期しょきもどすことで、再度さいど起動きどうする状態じょうたいもどすことが可能かのうである。

設定せってい初期しょき(CMOSクリア)

編集へんしゅう

PCトラブルのさいに、BIOSの可変かへん設定せってい部分ぶぶん初期しょき状態じょうたいもどこと解決かいけつするケースがある。

マザーボードのBIOSバックアップよう電池でんちをいったんはずし、しばらくってから(30びょう〜1ふん電池でんちれなおすことで設定せってい初期しょきされる。確実かくじつすなら、はずした電池でんちもどまえ電池でんちホルダのプラスきょくとマイナスきょく金属きんぞくたとえばピンセット)で短絡たんらくさせるのがい。あるいは、マザーボードによってはBIOS初期しょきのリセットスイッチや、ジャンパポストが装備そうびされている。またBIOSによってはメニューないから初期しょき機能きのうっているものがある。

この行為こういは、「CMOSクリア」と通称つうしょうされている。また、しばしばあやまって「BIOSを初期しょきする」とあらわされることがあるが、可変かへん設定せってい部分ぶぶん初期しょきするための作業さぎょうであって、BIOSプログラムそのものをえるわけではなく、メーカーが用意よういした初期しょき設定せってい可変かへん設定せってい部分ぶぶんまれるにまる。ファームウェア更新こうしん失敗しっぱいした場合ばあいなどにそなえ、BIOSプログラム全体ぜんたい初期しょき状態じょうたいもど機能きのうそなえたBIOS・マザーボードもあるが、この場合ばあい文字通もじどおり「BIOSを初期しょきする」とってい。

BIOSのチップ

編集へんしゅう
 
American Megatrends BIOS 686。PLCCパッケージに封入ふうにゅうされたBIOSチップがソケットに挿入そうにゅうされている。

初代しょだいのIBM PCではBIOS(およびcasette BASIC)はマスクROMチップに格納かくのうされ、マザーボードのソケットに挿入そうにゅうされていた。ROMは交換こうかん可能かのうだったが、ユーザーによるえは出来できなかった。更新こうしん可能かのうにするために、互換ごかんメーカーはEEPROM後年こうねんにはフラッシュメモリおもNORフラッシュ)などのさいプログラム可能かのうなデバイスを採用さいようするようになった。

BIOS製造せいぞう会社かいしゃ Micro FirmwareしゃのRobert Braver社長しゃちょうによると、Flash BIOSチップは1995ねんごろから主流しゅりゅうになり、紫外線しがいせんにより消去しょうきょするPROMより安価あんかかつあつかいが容易よういになったためとしている。EPROMではえのためにマザーボードからはず必要ひつようがあるのにたいし、フラッシュメモリは基板きばんじょうけたままさいプログラムが可能かのうである。

セキュリティ

編集へんしゅう

BIOSのえとトラブル

編集へんしゅう

BIOSはROMに格納かくのうされ、コンピュータにまれたかたち提供ていきょうされる(2011ねん現在げんざい、BIOS ROMはLow Pin CountバスまたはSPIによってサウスブリッジ接続せつぞくされる)。基本きほんてきにはBIOSはえる必要ひつようがないものだが、バグ修正しゅうせいしん機能きのうサポート更新こうしんされることがある。

1990年代ねんだい中頃なかごろまでのPCでは、ROMとしてマスクROMOTPROMUV-EPROMなどがもちいられ、おおきな問題もんだいがないかぎりBIOSの更新こうしんはあまり想定そうていされていなかった。また、ROMのみにはROMライターといった装置そうち必要ひつようになり、ユーザの手元てもとではROMはえられないのが普通ふつうであった。

フラッシュメモリ実用じつようされ普及ふきゅうしてくると、BIOSをフラッシュメモリに格納かくのうしユーザの手元てもとでコンピュータをけずにアップデートできることをりにしたマザーボード製品せいひん発売はつばいされた。具体ぐたいてき方法ほうほうとしては、ようにフロッピーディスクに簡素かんそなOS(おもMS-DOSやその互換ごかんOSが利用りようされる)の環境かんきょう作成さくせい、そこから起動きどうし、ようソフトウェアを起動きどうすることで簡単かんたんえをおこなこと可能かのうとなった。さらに2000ねん以降いこうはフロッピーディスクから起動きどうせずともWindowsやUnixけいOSといった統合とうごう環境かんきょうじょう直接ちょくせつえすることができるようになった。現在げんざいでは、「BIOSの設定せってい画面がめんじょうでBIOSをえる」といったシステムをそなえたBIOSも登場とうじょうし、方法ほうほう選択肢せんたくしひろがっている。

しかしBIOSのちゅう停電ていでんなどなんらかのトラブルでえに失敗しっぱいした場合ばあい大抵たいていそのコンピュータはまった起動きどうしなくなる。したがって、メーカーは「PCに問題もんだいがあってその解決かいけつ方法ほうほうがBIOSアップデート以外いがい存在そんざいしないときやOSのアップデートにのみアップデートを実行じっこうしてください」などと注意ちゅういうながしている。

BIOSはコンピュータの起動きどう根幹こんかんであるため、内容ないよう破壊はかいされるとそのコンピュータ自身じしんではさいセットアップすら出来できなくなる。(からっぽのフロッピーやUSBメモリなどを使つかった復旧ふっきゅう手段しゅだん用意よういしているBIOSがほとんどだが、それが失敗しっぱいするか存在そんざいしない場合ばあいは)復旧ふっきゅうする方法ほうほうはBIOS ROMの交換こうかん(大抵たいてい場合ばあい精密せいみつなはんだけが必要ひつようなためメーカー修理しゅうりとなる)、またはせんもん業者ぎょうしゃなどで「ROMき」とばれる復旧ふっきゅう作業さぎょうをしてもらうのいずれかである。BIOS ROMがソケットにまれているタイプのマザーボードでは自身じしん同一どういつのマザーボードを用意よういし、起動きどう問題もんだいのあるBIOS ROMにさいみをするという荒業あらわざ可能かのうではあるが、起動きどうちゅうのコンピュータのBIOS ROMをこと大変たいへん危険きけんであるため推奨すいしょうされない。また、2000ねん以降いこう出回でまわっているコンピュータ(マザーボード)によっては、ROMを2つないし4つっているものもあり、べつバージョンへのえができるようになっているものもある。

ブートブロック方式ほうしき

編集へんしゅう

以上いじょうべたように、BIOSのえにはリスクをともなうが、このリスクの低減ていげんはか目的もくてき開発かいはつされたのがブートブロック方式ほうしきであり、1999ねんころから採用さいようされるようになった。

これは、BIOS ROMを2つ以上いじょう領域りょういき分割ぶんかつし、出荷しゅっかえない部分ぶぶんえる部分ぶぶんもうけるものである。えない部分ぶぶんをブートブロックといい、BIOSをえるための必要ひつよう最小限さいしょうげん機能きのうふくまれている。したがって、ちゅう電源でんげんだんなどでえに失敗しっぱいした場合ばあいでも、ブートブロックを使用しようすることで再度さいどえを実施じっしすることが可能かのうである。

BIOSとマイクロコード

編集へんしゅう

BIOS ROMにはときとしてマイクロコード格納かくのうされる。マイクロコードを利用りようするデバイスは、CPUインテル Pentium ProAMD Athlon以降いこう)、SCSIホストバスアダプタアダプテックしゃせい品等ひんとう)、ネットワークインタフェースマーベル・テクノロジー・グループしゃブロードコムしゃせい品等ひんとうとうがある。これらはBIOSブート初期しょき段階だんかいでマイクロコードがデバイスに転送てんそうされ、デバイスが活性かっせいされる。またマイクロコードではないが、FPGAベースのデバイスではロジックをBIOSがんで活性かっせいさせるものもある。マイクロコードやロジックはしん製品せいひん機能きのう改良かいりょうによってバージョンアップが必要ひつようになることがある。とくにCPUのマイクロコードはしん製品せいひん都度つどあたらしいマイクロコードがかならずといってほどつくられるので、マザーボードに最新さいしんCPUを搭載とうさいするためにBIOSアップデートによって最新さいしんのマイクロコード導入どうにゅう必要ひつようとなる場合ばあいがある。グラフィクスカードはマイクロコードを使用しようするにもかかわらず例外れいがいてきにBIOS ROMにはふくまれていない。通常つうじょう、VGA相当そうとう専用せんよう回路かいろでVGA BIOS機能きのう提供ていきょうし、OS起動きどうデバイスドライバを経由けいゆしてアプリケーションじょうシェーダプログラムをマイクロコードにコンパイルしてGPU転送てんそうして実行じっこうしている。

代替だいたい後継こうけい製品せいひん

編集へんしゅう

2024ねん現在げんざいしん製品せいひんのBIOSはすべて、より複雑ふくざつUnified Extensible Firmware Interface (UEFI) にえられており、UEFIはレガシーBIOSのランタイムインタフェースをえるもので、もとItaniumプラットフォームけにかれたが、現在げんざいx86x86-64プラットフォームにも提供ていきょうされており、仕様しようUnified EFI Forum主導しゅどう開発かいはつされている。UEFIによるブートはWindowsのうちGPT[5]をサポートするバージョン、Linuxカーネル2.6.1以降いこうmacOSのうちIntel Mac動作どうさするもの[6]かぎられる。

従来じゅうらいのレガシーBIOSにわるものとしては、ほかにOpen Firmware(OLPC XO-1で使用しよう)、corebootなどが存在そんざいする。

系列けいれつのコンピュータでは、ブートモニタ、ブートローダー、ブートROMなどのかたり使つかわれる。ワークステーション分野ぶんやではOpen Firmware (IEEE-1275) があり、Forth言語げんご記述きじゅつされている。サンSPARC コンピュータ、IBMの RS/6000 シリーズ、そのPowerPC搭載とうさいするCHRPマザーボードに採用さいようされている。

脚注きゃくちゅう

編集へんしゅう
  1. ^ BIOSにわるファームウェア“UEFI”とは一体いったいなにか? 1/2 | 震撼しんかん性能せいのう! Sandy Bridgeに死角しかくなし!! | DOS/V POWER REPORT
  2. ^ Bradley, Tony. "R.I.P. BIOS: A UEFI Primer". PCWorld. Archived from the original on 2014-01-27. Retrieved 2014-01-27.
  3. ^ Kildall, Gary A. (June 1975), CP/M 1.1 or 1.2 BIOS and BDOS for Lawrence Livermore Laboratories 
  4. ^ x86ようのコードではプロセッサ構造こうぞうじょうリアルモードで命令めいれいセット使つかわざるをないという制限せいげんもある。
  5. ^ Windows and GPT FAQ”. microsoft.com. Microsoft. 6 December 2014閲覧えつらん
  6. ^ Extensible Firmware Interface (EFI) and Unified EFI (UEFI)”. Intel. 6 December 2014閲覧えつらん

関連かんれん項目こうもく

編集へんしゅう