1

funcion register_chrdevで引数としてfile_operation構造体へのポインターが必要なのはなぜですか?この関数で構造体はどのように使用されますか?

4

2 に答える 2

1

キャラクターデバイスでは、データのストリームでデータを読み書きします。ユーザーにとって、デバイスは単なるファイル (デバイスノード) であり、デバイスにデータを読み書きするときはいつでも、デバイスファイルを使用して更新します。したがって、ユーザーが読み取り/書き込みを行う場合、ドライバーはこれらの基本的なファイル操作の実装を提供する必要があります。

register_chrdev は、メジャー番号とマイナー番号の割り当てとともに、デバイス固有のファイル操作を登録します。

于 2012-07-03T06:13:02.683 に答える
0

chrdev のデータにアクセスする必要があります。これは、ファイルのようなインターフェースを介して行うことができます。これが、struct file_operations: を使用して、たとえば chrdev を読み取るために何をする必要があるかについてカーネル情報を提供する理由です。

実際には、register_chrdevデバイスのメジャーを登録するだけではありません。メジャーとマイナーのみを登録する場合は、 を使用する必要がありますregister_chrdev_region

于 2012-07-02T14:06:07.863 に答える