ハードウェアを制御し,OS との橋渡しを行うソフトウェアです.制御方法は,ハードウェアによって違うので,個別のハードウェアごとに専用のデバイス・ドライバが用意されます.OS へは汎用的なインターフェースを提供して個別のハードウェアの違いを吸収しています.