
どちらもカーネルイベントを受信して処理するようですが、なぜすべて存在しますか?私が知っているところによると、ACPIはudevよりも進化しているようですが、それ以外は実際に違いを生むことはできません。
答え1
ACPIオペレーティングシステムが(信頼できるように)自動的に検出できない内蔵デバイスに関する情報を提供するために使用されるマザーボードベンダーの低レベルインターフェース。また、カーネルの電源管理およびハードウェア監視方法も提供します。 ACPIが提供する興味深い機能の1つは、いわゆるACPIイベントです。これらの割り込みを生成するために内蔵ハードウェアに何かが発生すると、ハードウェアは特別な割り込み(汎用イベント割り込み)を発行し、カーネルはACPIコードを呼び出して、どの内蔵デバイスで何が起こったかを確認します。より仕様全体の動作方法の詳細を知りたい場合。
山カーネルのACPIサブシステムによって生成されたイベントを受け取り、特定のイベントが発生したときにコマンドを実行できるようにするデーモン。たとえば、ハードウェアがACPIを介して電源ボタンを押したことを示す信号を送信すると、デバイスのボタン/電源クラスのイベントを受け取ります。デーモンは、USBバスなどのイベントではなく、ACPIによって生成されたこれらのイベントにのみ応答できます。
ウデブカーネルが管理するデバイスツリーの変更に反応できるLinux専用デーモンです。たとえば、USBメモリスティックが挿入されると、USBコントローラはカーネルに通知し、Linuxデバイスツリーに新しいデバイスを追加します。その後、ドライバはusb_storage
新しいデバイスがストレージデバイスであることを検出し、ツリーにサブデバイスノードを作成して、ユーザースペースがUSBスティックを他のハードドライブのように処理できるようにします。プラグを抜くと、そのデバイスはツリーから削除されます。 udevはすべての追加と削除について通知されます。 udevは、CDトレイの開閉などのデバイスの追加と削除ではなく、いくつかのイベントに反応することがありますが、それはすべてです。これを実行して、udevadm monitor --kernel
udevがリアルタイムでどのイベントを受け取るかを確認できます。
あなたはそう言うことができます山そしてウデブお互いを補う。ウデブオペレーティングシステムに知られているすべてのデバイスの重要な変更に対応するのに役立ちます。山一部の内蔵デバイスで発生するより具体的なイベントに反応するのに役立ちます。