0
私はタイマを実装したカーネルモジュールを持っています。同時に、私はprocから読み書きするための新しいカーネルモジュールを作成することができます。私が理解していないのは、同じカーネルモジュールで2つの操作を組み合わせる方法です。キャラクタデバイスも使用するカーネルモジュールでprocに書き込む
私のアプリケーションはこのように動作します。ユーザープログラムは、n
ミリ秒で期限切れになるタイマーを作成するために使用される番号n
をカーネルモジュールに書き込みます。これを実現するために、write
とread
の機能を実装し、init
機能で使用しているstruct file_operations
に文字デバイス(タイマー)を登録するためにそれらをリンクしました。
proc
ファイルの場合、ユーザープログラムからの要求を処理するwrite
とread
関数を宣言する必要があります。これは私を混乱させるもので、私はすべてを一緒に組み合わせる方法を理解できません。
わずか2 **異なる** '構造体file_operations'変数を定義します。文字デバイスには1つを使用し、procファイルには1つを使用します。彼らは実際には独立しています。 – Tsyvarev
@Tsyvarevしかし、私はユーザーがprocに提供する数字「n」を書く必要があるので、私のモジュールではタイマーとprocは独立していません。 – David
@David彼はファイル操作が独立していることを意味していました。 – Sasi