ここではUSBポートに多様な多数の周辺装置を接続できるようにするのに,どんな仕組みを使っているのかを考えます.

これまでも,パソコンの周辺装置はどれもCPUとコミュニケーションをすることで機能することを強調してきました.

周辺装置が機能するとは,CPUが周辺装置から送られてきた信号(データ)をそれぞれの周辺装置に合わせて処理し,周辺装置に合わせて出力のための信号を送ることができることです.

そのためには,CPUに入出力の指示をするプログラムを必要とします.CPUはプログラムの指示がなければどんな処理も出来ないからです.

したがって,多様な種類の周辺装置を接続できるためには,接続された装置に応じて入出力のためのプログラムを切り替えられなければなりません.

各周辺装置を使うためのプログラムの一部は,バイオスに含まれています.例えばブート可能な装置のためのプログラムはバイオスに含まれます(1.19参照).しかし,バイオスに含まれていない部分については,別にプログラムを用意する必要があります.

CPUに周辺装置とのコミュニケーションの仕方を指示するプログラムをデバイスドライバと呼びます(1.25参照).「ハードディスクのデバイスドライバ」とか,「プリンタのデバイスドライバ」とかです.

デバイスは「装置」を意味します.ドライバは「駆動するもの」を意味する英語です.つまり,デバイスドライバとは,「周辺装置を働かせる仕組み」としてのプログラムを指します.

ある周辺装置のデバイスドライバは,その周辺装置を正しく使うには信号(データ)をどのように送信し,受けとる信号をどう処理すればよいかをCPUに指示するのです.

 そのため,CPUは各コネクタに接続された周辺装置が何であるかを識別し,その種類やメーカの特徴に合わせたデバイスドライバを利用しなければなりません.これを可能にするのは基本ソフトウェアです.