1

インタビューでこんな質問をされました。PCI ドライバーを作成していて、ハードウェア関連の情報を /proc ファイルシステムにエクスポートしたいとします。興味深いことに、ドライバー コードを検索したところ、実際には情報がエクスポートされていますが、/proc ファイルシステムに関連する呼び出しは見つかりませんでした。それは自動的に行われますか?メカニズムは何ですか?誰でも説明できますか?

4

2 に答える 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 に答える