オペレーティングシステム
デバイスドライバはハードウェアとのやり取りをするためのソフトウェアである。一般にハードウェアとの通信を行うインタフェースを持ち、ハードウェアの接続される何らかの通信サブシステムやバスを経由して通信を行う。コマンドをハードウェアに送り、データの送受信を行う。また、一方でオペレーティングシステムやアプリケーションに対するインタフェースも提供する。ハードウェアに強く依存するプログラムであり、オペレーティングシステムにも依存している。これによって、オペレーティングシステムやアプリケーションがハードウェアを使って動作することが容易になっている。ハードウェアの非同期的な割り込みの処理もデバイスドライバの役割である。
デバイスドライバの主たる設計目標は抽象化である。ハードウェアは用途が同種のものであっても、機種によって動作や性能などがそれぞれ異なる。新たな機能や性能を提供するハードウェアが登場したとき、それらは従来とは異なった制御方式を採用していることが多い。