インタビューでこんな質問をされました。PCI ドライバーを作成していて、ハードウェア関連の情報を /proc ファイルシステムにエクスポートしたいとします。興味深いことに、ドライバー コードを検索したところ、実際には情報がエクスポートされていますが、/proc ファイルシステムに関連する呼び出しは見つかりませんでした。それは自動的に行われますか?メカニズムは何ですか?誰でも説明できますか?
2 に答える
4
/proc 疑似ファイルシステムでのエントリの作成については、Linux Device Drivers [3rd ed]の第 4 章で説明されています。
sysfs
最近では、代わりに使用することを検討したいと思うでしょう。LDD3 の第 14 章で説明されています。
于 2011-04-22T14:15:02.170 に答える
3
それを行う1つの方法は、ドライバーが
次のシグネチャを使用して、プロセスが対応する /proc エントリを読み取るたびに呼び出される関数を実装します。
int (*read_proc)(char *page, char **start, off_t offset, int count, int *eof, void *data);
ポインタを に渡して関数を登録します
create_proc_read_entry()
。これは、とりわけ /proc エントリの名前を文字列として受け入れます。create_proc_read_entry("foobar", 0, NULL, your_read_func_ptr, NULL);
ドライバーがアンロードされると、次のエントリを削除する必要がありますremove_proc_entry()
于 2011-04-22T14:38:29.540 に答える