
デバイスが接続されると、カーネルはどのドライバーをロードする必要があるかをどのように認識するのでしょうか?
これはメジャー番号とマイナー番号に基づいていると思いますが、デバイスが接続されたときにメジャー番号がどのように検出されるのかわかりません...メジャー番号は製造元によって割り当てられるのでしょうか?
答え1
Linux デバイス モデルがこれを処理します。デバイスを登録し、名前を関連付けると、処理が開始されます。
デバイスと同じ名前のドライバーを登録すると、デバイスとドライバーの間でバインディングが行われます。
任意のプラットフォーム デバイスとプラットフォーム ドライバーの例を考えてみましょう。名前が同じ場合、両方がバインドされます。
メジャー番号とマイナー番号に関しては、文字デバイスドライバの場合に関係し、ユーザー空間アプリケーションと(文字)ドライバ間のバインディングに使用されます。