Basic Input/Output System
ディスクI/Oサブシステム(拡張SCSIもこの形態をとる)
マザーボード上の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はROMに格納され、コンピュータに組み込まれた形で提供される(2011年現在、BIOS ROMはLow Pin CountバスまたはSPIによってサウスブリッジに接続される)。基本的にはBIOSは書き換える必要がないものだが、バグの修正や新機能サポート時に更新されることがある。
1990年代中頃までのPCでは、ROMとしてマスクROMやOTPROM、UV-EPROMなどが用いられ、大きな問題がない限りBIOSの更新はあまり想定されていなかった。また、ROMの書き込みにはROMライターといった装置が必要になり、ユーザの手元ではROMは書き換えられないのが普通であった。
フラッシュメモリが実用化され普及してくると、BIOSをフラッシュメモリに格納しユーザの手元でコンピュータを開けずにアップデートできることを売りにしたマザーボード製品が発売された。具体的な書き換え方法としては、書き換え用にフロッピーディスクに簡素なOS(主にMS-DOSやその互換OSが利用される)の環境を作成、そこから起動し、書き換え用ソフトウェアを起動することで簡単に書き換えを行う事が可能となった。さらに2000年以降はフロッピーディスクから起動せずともWindowsやUnix系OSといった統合環境上で直接書き換えすることができるようになった。現在では、「BIOSの設定画面上でBIOSを書き換える」といったシステムを備えたBIOSも登場し、書き換え方法の選択肢が広がっている。