Basic Input/Output System
![](http://upload.wikimedia.org/wikipedia/commons/thumb/e/e1/Rombios01.jpg/220px-Rombios01.jpg)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/1/15/Pair_of_BIOS_chips.jpg/220px-Pair_of_BIOS_chips.jpg)
概要
編集用語と歴史
編集「 |
/* 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] |
ユーザーインタフェース
編集ハードウェアアクセスの共通化
編集起動
編集BIOS拡張
編集初期化
編集0x0C0000
から 0
x0F0000
の空間を2 KiB 毎の領域でスキャンして"0x55""0xAA"という連続した2バイトのシグネチャを探してROMのプログラムのエントリポイントを知り、先頭512バイトのブロックのチェックサムを算出して、ROMのチェックサムと一致すればBIOSはそのエントリーアドレスに制御を移す。するとBIOS拡張ROMは拡張機能の初期化ルーチンの実行を始める。
この時点で拡張ROMは実行を引継ぎ、一般的には対象ハードウェアのテストと初期化、ブート後のアプリケーションから利用する割り込みベクターの登録を行う。拡張ROMはユーザー設定インタフェース(診断情報の表示その他︶や必要な動作のためにBIOSとそれまでに読み込まれたBIOS拡張ROMのサービスを利用する。
オプションROMは一般的には初期化プロセスの完了時にはBIOSに制御を返す。制御を返されたBIOSは、さらにオプションROMがないかメモリ空間の末尾までサーチを進め、見つけた順に呼び出す動作を繰り返す。
BIOSに分類されるプログラム
編集オペレーティングシステムサービス
編集プロセッサのマイクロコード更新
編集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のクロック周波数をメーカーの保証値より高く引き上げるものである。しかしながらオーバークロックはコンピューターの冷却不足による信頼性の低下と寿命の短縮を招く深刻な悪影響がある。
不適切なオーバークロック設定は部品のオーバーヒートを招き、機械的にコンピュータを壊してしまうこともありうる。
近年の使われ方
編集設定
編集設定ユーティリティ
編集![](http://upload.wikimedia.org/wikipedia/commons/thumb/0/05/Award_BIOS_setup_utility.png/220px-Award_BIOS_setup_utility.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/bd/Motherboard_diagram.svg/220px-Motherboard_diagram.svg.png)
設定初期化(CMOSクリア)
編集BIOSのチップ
編集セキュリティ
編集BIOSの書き換えとトラブル
編集ブートブロック方式
編集BIOSとマイクロコード
編集代替・後継製品
編集脚注
編集関連項目
編集- ブート
- Unified Extensible Firmware Interface (UEFI)
- Unified EFI Forum (UEFI Forum)
- Power On Self Test
- NTLDR
- Windows Boot Manager