回答:
ドライバーは他のプログラムとよく似ており、複数のソースファイルで構成できます。Linuxデバイスドライバーは、カーネルまたはカーネルモジュールに直接コンパイルできます。カーネルモジュールには、動的にロードできるという利点があります(つまり、それらを使用するために新しいカーネルをコンパイルする必要はありません)。
Linuxのソースコードはいつでも見ることができますが、最初は大変な作業になる可能性があります。ただし、Linuxのドライバーと同様に、ファイルもファイルです。つまり、他のプログラムはVFSインターフェースを介してそれらにアクセスします。たとえばioctl()
、デバイスファイルを使用した呼び出しでCDROMを制御できます。
Linuxデバイスドライバーを確認することを強くお勧めします。それは自由に利用でき、あなたの質問に答えます。特に、簡単な「Hello、Kernel」モジュールの作成方法を示す第2章を読むことができます。それはあなたが望んでいるよりはるかに多いかもしれませんが、あなたはあなたが興味のある小片を読むことができます。そしてそれは無料です。; P