学生の課題では、Linuxカーネルが接続されたデバイスの構成をどのように検索するかを追跡するように求められました。たとえば、新しいプリンタがシステムに接続されました。私が知っている限り、ユーティリティのすべての機能(ベンダー名、モデル、デバイス番号など)は、ディレクトリに保存されているファイルdevice
に新しいハードウェア情報を追加する前にカーネルモードで評価されます。/proc
利用可能な新しいデバイスを検出すると、カーネルがどのように機能するかを制御できます。そうしないと、カーネルがデバイスが接続されていることを検出し、その設定情報の収集と保存を開始する方法をまだ理解できませんproc
。デバイスの挿入とデータをファイルシステムに渡す間に何が起こるかを明確に説明する合理的で詳細な説明はありますか?デバイスドライバはこのデータをどの程度まで抽出できますか?
答え1
- デバイスが検出されると、udevが動作します。https://linux.die.net/man/8/udev
- この資料では、コンピュータの電源が入っているときにデバイスを検出する方法について説明します。https://stackoverflow.com/questions/18854931/how-does-the-os-Detect-hardware
- USBの場合、USBサブシステムはデバイスが接続されたときにそれを検出します。ねえ:http://www.linux-usb.org/USB-guide/x75.html