Basic Input/Output System
IBM PCやXT時代は設定用ユーザーインタフェースはマザーボード上のディップスイッチを用いてビデオアダプタのタイプ、メモリーサイズ、ハードディスクのパラメータなど設定したが、80286 CPU登場以降のIBM PC互換機では「リファレンスディスケット」と呼ばれるフロッピーディスクから起動し画面表示され、キーボードから操作し、不揮発性BIOS実装メモリー(CMOS RAM チップ)に設定を記憶するようになった。
80386世代以降のコンピュータではBIOSセットアップユーティリティをBIOS自身に組み込みむようになり、一般に、起動時に "Press F1 to enter CMOS Setup." のような表示が出る間に特定のキーを押すことでメニューに入ることができ、押すキーは機種によって異なっている。BIOSのUIでは
ハードウェアの設定
システム時刻の設定
システム内コンポーネントの有効化/無効化
ブートさせるデバイスの選択
BIOS設定を保護するパスワード画面、承認されていない記憶デバイスの挿入による起動の防止
などを設定することが出来る。
近年のPCでは起動時のハードウェア初期化で多くの項目に自由度があり、設定内容の一部をユーザーが指示できるようになっている。この場合VGA BIOSなどが正常に起動したあと、特定のキー操作でメニュー形式で画面上に項目を表示することができ、キーボードを使って設定内容を編集し、終了時にバッテリバックアップされたレジスタに保存することができる。編集画面で以前とは異なった内容を保存した場合は、その新たなメモリ内容でハードウェアの初期化が開始される。
これはビデオカードのROMに実装された拡張BIOSである。 同様にハードディスク、フロッピーディスク、キーボードなどさまざまな入出力処理を行うBIOSが存在するが、これら基本的なものはSystem BIOSでありマザーボードのROMに実装される。
しかし、上記が有効なのはOSがシングルタスク型の場合であり、マルチタスクOSではデバイスドライバが処理を行う。特にリエントラントが考慮されていないBIOSもあり、各アプリケーションが非同期にこれを呼び出すとOSはハードウェアリソース管理が困難になる。このためハードウェア管理はデバイスドライバが一元的に行い、アプリケーションはOSのシステムコールを利用する。
やむを得ずBIOSを呼び出したい場合、専用のシステムコールで可能だが、そのハードウェアがOSに保護されている場合は動作するとは限らない。
組み込みシステムではハードウェアのバリエーションが少なく、BIOSのような中間層インタフェースは持たないためファームウェアと呼ばれることが多い。