Linuxデバイスドライバ「ドメイン」の関係は何ですか?

Linuxデバイスドライバ「ドメイン」の関係は何ですか?

Linuxデバイスドライバと電源管理APIについて読んで、「システムレベル」、「サブシステム」、「プラットフォーム」、「クラス」などの用語に触れ続けました。

それらの関係は何ですか?このシステムはプラットフォームのサブタイプですか?それとも、システムとプラットフォームが並行して存在し、包括的な関係がないのでしょうか? 「クラス」と「システム」の違いは何ですか?各ドメインの利点は何ですか(たとえば、機能を実装したい場合はクラスレベルの機能であるべきか、プラットフォームの機能でなければならないのか、それとも別の機能であるべきか)。

要するに、誰かが私にこれらの他のものが何であるかを説明できますか?

答え1

これらは定義するのが難しいです。一般的に言えば、装置列挙の文脈では、

  • 「プラットフォーム」デバイスは通常、PCまたはRaspberry Piにあります。

    カーネルはPCまたはRPiで実行するようにコンパイルされているので、それを探し始めます。一部のマザーボードコンポーネント、CPU、およびメモリはこのカテゴリに属します。

  • 「サブシステム」は、基本的に、さまざまなハードウェアに対して同様の機能を持つドライバのセットです。

    これにより、各ドライバは順番に異なるサブシステムのドライバを使用できます。たとえば、サウンドサブシステムドライバは個々のサウンドカードを処理し、共通のサウンドカードインターフェイスを提供し、ドライバはPCIサブシステムを使用して使用されるサウスブリッジチップタイプに関係なくサウンドカードを見つけることができます。

  • 「クラス」ドライバは、共通インタフェースを実装するさまざまなベンダーのデバイスを処理します。

    これは、たとえば、大容量記憶装置の標準があり、単一のドライバが互換性があると主張するすべてのデバイスを処理するUSB​​デバイスの場合に一般的です。

関連情報