Linuxドライバはどのように機能し、どこで見つけることができますか? (特にネットワークカードドライバ)

Linuxドライバはどのように機能し、どこで見つけることができますか? (特にネットワークカードドライバ)

Linuxでドライバがどのように機能するかを知りたいです。ドライバは編集可能な単一ファイルですか?現在使用しているドライバのリストがありますか、それとも各デバイスで見つけることができる他の場所がありますか?

特にネットワークアダプタのドライバを理解したいと思います。

良い文書がどこにあるのか分かったら、私も読んでみたいです。

ベストアンサー1

ドライバは、複数のソースファイルで構成できるという点で、他のプログラムと非常によく似ています。 Linuxデバイスドライバは、カーネルまたはカーネルモジュールに直接コンパイルできます。カーネルモジュールは動的にロードできるという利点があります(つまり、それを使用するために新しいカーネルをコンパイルする必要はありません)。

明らかに、Linuxのソースコードはいつでも見ることができますが、最初はこれが難しい作業になる可能性があります。しかし、Linuxの他のものと同様に、ドライバもファイルです。これは、他のプログラムがVFSインターフェイスを介してアクセスすることを意味します。たとえば、ioctl()デバイスファイルを使用してCDROMを呼び出してCDROMを制御できます。

ぜひご確認ください。Linuxデバイスドライバ。無料で利用でき、あなたの質問に答えます。具体的には、簡単な「Hello、Kernel」モジュールを作成する方法を示す第2章を読むことができます。あなたが要求するよりもはるかに多いかもしれませんが、興味のある部分を読むことができます。そしてそれは無料です。 ;血

おすすめ記事