三省堂 大辞林 |
ビオス 1 [(ラテン) bios]
BIOS (バイオス) [basic input/output system]
IT用語辞典バイナリ |
BIOS
読み方:バイオス
BIOSとは、コンピュータの最低限の入出力機能のために実行されるプログラムのことである。
BIOSはコンピュータの電源を入れたとき最初に起動するプログラムで、システムを初期化したり、ハードディスクからオペレーティングシステム(OS)のプログラムを呼び出したりといった動作を行っている。
BIOSのデータを消失したり改変したりすると、コンピュータの起動そのものが不可能になる恐れが極めて高い。そのため、以前のBIOSはROMに記録され、パソコンに組み込まれた形で提供されている場合がほとんどであった。最近ではフラッシュメモリなどに記録されている場合もある。
| 電子回路・電子部品: | オフセット電圧 オーバーシュート ウィーン・ブリッジ発振回路 BIOS CPUファン D/Aコンバータ GraniteBay |
ウィキペディア |
Basic Input/Output System
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2009/11/14 11:13 UTC 版)
(BIOS から転送)
Basic Input/Output System(ベーシック インプット/アウトプット システム、略称 BIOS - バイオス )はファームウェアの一つで、コンピュータに搭載されたプログラムのうち、ハードウェアとの最も低レベルの入出力を行うためのプログラムである。
BIOSはもともとはCP/Mの用語であったが、その後他機種に対しても一般的に使われるようになった。
目次 |
ハードウェアアクセス方法の実装と共通化
ハードウェアへのアクセスは主にレジスタの操作を行うが、レジスタの動作や配置はハードウェアの種類によって異なる。また、読み書きのタイミングや順序にも制限があることがある。これらのハードウェアアクセス手順はアプリケーション側で逐一記述するより、ハードウェアの種類とセットでサブルーチンの形で用意しておくほうが有用である。このサブルーチンのことをBIOSと呼び、ISAやPCIボードなど形の製品では同一ボード上でROMを接続し、BIOSプログラムをメモリ上に配置する。
また、同じ種類のハードウェアで、操作方法が異なるデバイスが複数存在する場合、BIOSがない場合はアプリケーション側でそれぞれのハードウェア構成にあったアクセス手順を複数用意しておかなければならない。そこでBIOSの呼び出しインタフェースを共通化することで、アプリケーションはそのBIOSコールにあわせるだけで複数のデバイスに対応できることになる。このような共通インタフェースはABI(Application Binary Interface 参考API)と呼ばれる。
PC/AT互換機のVGA BIOSを例に挙げると、共通化されたABIであるVGA BIOSを呼び出すことで、ハードウェアの違いを意識することなく一元的に文字の表示や画像の表示を行えるようにしたものである。 同様にハードディスクやフロッピーディスクの読み書き、キーボード入力などさまざまな入出力機器の処理を行うBIOSが存在する。
しかし最近ではこの役割がOSにとって代わられている。マルチタスクOSが動作している場合、各アプリケーションが個別にBIOSコールを呼び出すと、リエントラントが考慮されていないBIOS[1]もありOSもハードウェアリソースを管理することが難しくなる。このためOSが動作するシステム上では、ハードウェアの管理はOSがデバイスドライバを用いて一元的に行い、アプリケーションはOSが用意しているシステムコールを利用する。 アプリケーションが、OSのシステムコールではなくどうしてもBIOSコールを使いたい場合は、BIOSを呼び出すシステムコールが用意されているが、そのBIOSがアクセスするハードウェアがOSによって保護されている場合は、必ずしも動作するとは限らない。
また、組み込みシステムではハードウェアのバリエーションが少なく、BIOSといった中間層インタフェースは持たないためBIOSとは呼ばずファームウェアと呼ぶことが多い。
起動
装置の電源投入時には、最初に実行されるハードウェアの初期化および、次の段階のブートローダを読み込むプログラムが必要になる。このため補助記憶装置を操作し、ファイルの読み込みが行える状態になるまでのプログラムをROMの形で用意しておく必要がある。これらのプログラムはIPLやブートストラップとも呼ばれる。 補助記憶装置のハードウェアの構成によって手順が異なるため、そのシステム固有のプログラムが用意される。
また、PC/AT互換機のように、様々な種類のハードウェアが増設可能な(バリエーションが多い)場合、初期化手順やハードウェア構成に自由度を持たせておく必要があり、初期化内容などをDIPスイッチやソフトスイッチで設定可能にするためパラメータを持つ場合がある。
パラメータ設定
近年のパーソナルコンピュータでは、起動時の初期化で多くの項目に自由度があり、設定内容の一部をユーザが指示できるようになっている。この場合VGA BIOSなどが正常に動作したあと、メニュー形式で画面上に項目が表示され、キーボードを使って設定内容を編集し、終了時に不揮発メモリに保存される。次回起動時にこのメモリの内容にしたがってハードウェアが初期化される。
プラグアンドプレイは、ハードウェアのメモリマップや割り込み要求信号(IRQ)をプログラマブルに変更できる機能で、従来はジャンパーピンで設定していたものを、BIOSプログラムが起動時に一定の手順で自動的に設定するものである。ISAのPnPデバイスでは一部不完全で問題が発生することがあり、手動で決め打ちの値に設定する必要がある場合がある。しかし設定を変更するにも、メニュー設定画面までたどり着けない場合、問題はかえって複雑になる。
マザーボードリソースの設定も、動作クロックや電源電圧といったハードウェアに密接した設定もメニューから変更可能な場合がある。このことからオーバークロックといったコンピュータの動作を変化させることが可能となっているが、自作パソコン初心者にはこれらの項目を派手に弄りすぎて問題が発生する場合が少なくない。この場合、後述する設定初期化の作業が必要になることがある。
設定初期化(CMOSクリア)
PCトラブルの際に、BIOSの設定を初期状態に戻す事で解決するケースがある。
マザーボードのBIOSバックアップ用電池をいったん外し、しばらく待ってから(30秒~1分)電池を入れなおすことで設定が初期化される。あるいは、マザーボードによってはBIOS設定リセットスイッチが装備されている。またBIOSによってはメニュー内から初期化機能を持っているものがある。
この行為は俗に「CMOSクリア」と呼ばれている。また、しばしば意図的に誤って「BIOSを初期化しましょう」と言われる事がある。しかし、あくまで設定を初期化させるための作業であって、BIOSプログラムそのもの(CMOSに保持されている)を書き換える訳ではない。ファームウェア更新に失敗した場合などに備え、BIOSプログラム全体を書き戻す機能を備えたBIOS・マザーボードもあるが、この場合は「BIOSを初期化する」と言って良いだろう。
BIOSの書き換えとトラブル
BIOSはROMに格納され、コンピュータに組み込まれた形で提供される。基本的にはBIOSは書き換える必要がないものだが、バグの修正や新機能サポート時に更新されることがある。
1990年代中頃までのPCでは、ROMとしてマスクROMやOTPROM, UV-EPROMなどが用いられ、大きな問題がない限りBIOSの更新はあまり想定されていなかった。 また、ROMの書き込みにはROMライターといった装置が必要になり、ユーザの手元ではROMは書き換えられないのが普通であった。
フラッシュメモリが実用化され普及してくると、BIOSをフラッシュメモリに格納しユーザの手元でコンピュータを開けずにアップデートできることを売りにしたマザーボード製品が発売された。具体的な書き換え方法としては、書き換え用にフロッピーディスクに簡素なオペレーティングシステム(主にMS-DOSやその互換OSが利用される)の環境を作成、そこから起動し、書き換え用ソフトウェアを起動することで簡単に書き換えを行う事が可能となった。さらに2000年以降はフロッピーディスクから起動せずともWindowsやUNIX系OSといった統合環境上で直接書き換えすることができるようになった。現在では、「BIOSの設定画面上でBIOSを書き換える」といったシステムを備えたBIOSも登場し、書き換え方法の選択肢が広がっている。
しかしBIOSの書き換え中に停電など何らかのトラブルで書き換えに失敗した場合、そのコンピュータは全く起動しなくなる。したがって、メーカーは「パソコンに問題があってその解決方法がBIOSアップデート以外に存在しないときやOSのアップデート時にのみアップデートを実行してください」などと注意を促している。
BIOSはコンピュータの起動の根幹であるため、内容が破壊されるとそのコンピュータ自身では再セットアップすら出来なくなる。復旧する方法はBIOS ROMの交換、または専門の業者などで「ROM焼き」と呼ばれる復旧作業をしてもらうのいずれかである。BIOS ROMがソケットに差し込まれているタイプのマザーボードでは自身で同一のマザーボードを用意し、起動後に問題のあるBIOS ROMに差し替え再書き込みをするという荒業も可能ではあるが、起動中のコンピュータのBIOS ROMを抜く事は大変危険である為推奨されない。また、2000年以降に出回っているコンピュータ(マザーボード)によっては、ROMを2つないし4つ持っているものもあり、別バージョンへの切り替えができるようになっているものもある。
ブートブロック方式
以上に述べたように、BIOSの書き換えにはリスクを伴うが、このリスクの低減を図る目的で開発されたのがブートブロック方式であり、1999年ころから採用されるようになった。 これは、BIOS ROMを2つ以上の領域に分割し、出荷後に書き換えない部分と書き換える部分を設けるものである。書き換えない部分をブートブロックといい、BIOSを書き換えるための必要最小限の機能が含まれている。したがって、書き換え中の電源断などで書き換えに失敗した場合でも、ブートブロックを使用することで再度書き換えを実施することが可能である。
BIOSとマイクロコード
BIOS ROMには時としてマイクロコードが格納される。マイクロコードを利用するデバイスは、CPU(intel Pentium Pro、AMD Athlon以降)、SCSIホストアダプタ(Adaptec社製品等)、ネットワークインターフェース(Marvell社、Broadcom社製品等)等がある。これらはBIOSブート初期の段階でマイクロコードがデバイスに転送され、デバイスが活性化される。またマイクロコードではないが、FPGAベースのデバイスではロジックをBIOSが書き込んで活性化させる物もある。マイクロコードやロジックは新製品や機能改良によってバージョンアップが必要になる事がある。特にCPUのマイクロコードは新製品が出る都度に新しいマイクロコードが必ずといって良い程作られるので、マザーボードに最新CPUを搭載する為にBIOSアップデートによって最新のマイクロコード導入が必要となる場合がある。グラフィクスカードはマイクロコードを使用するにも関わらず例外的にBIOS ROMには含まれていない。通常、VGA相当の専用回路でVGA BIOS機能を提供し、オペレーティングシステム起動後デバイスドライバを経由してアプリケーション上のシェーダプログラムをマイクロコードにコンパイルしてGraphics Processing Unitに転送して実行している。
BIOSに分類されるプログラム
- VGA BIOS
- ビデオサブシステム(主にテキストと低解像度グラフィクス)
- VESA BIOS
- ビデオサブシステム(SVGAグラフィクス)
- SCSI BIOS
- ディスクI/Oサブシテム(拡張ATAもこの形態をとる)
- APM BIOS
- 初期のパワーマネジメントシステム。後に改良されてACPI BIOSの一部となる。
- PCI BIOS
- I/Oサブシステム。後にACPI BIOSの一部となる。
- ACPI BIOS
- 現在主流となっているパワーマネジメントシステム及びI/Oサブシステム
- SM BIOS
- システムマネジメントシステム
関連項目
脚注
関連した本
- これで完璧 BIOSの仕組み・設定・アップデート 松永 融 技術評論社
- TO▲BIO (vol.2) 安彦 良和 太田出版
- ゼロからわかるBIOS設定 完全ガイド2008 (マイコミムック) 寳諸宏 毎日コミュニケーションズ

