PCにはさまざまなハードウェア(デバイス)が備わっており、それらハードウェアを利用するには、専用に書かれたソフトウェアが必要です。そのようなハードウェア制御を担当するソフトウェアを一般に(デバイス)ドライバと呼んでいます。 Linuxシステムの場合、ドライバはカーネル本体に組み込むか、利用時に動的に読み込むモジュールとして実装されています。たいていのディストリビューションでは、カーネル本体は基本的なドライバだけ組み込み、多くのドライバはモジュールとして実装されています(図1)。モジュールとして構成されることによって、カーネルメモリの節約や、カーネル本体を作り直すことがなく、ドライバを更新することが可能になります。