next up previous
次へ: file_operation構造体への登録 上へ: システムコールとメソッド(その1: dio_open, dio_release) 戻る: openメソッド

releaseメソッド

ユーザ空間のアプリケーションからカーネル空間のreleaseメソッドを呼び出 すにはcloseシステムコールを使う。

releaseメソッドのプロトタイプは次のようになる。


\begin{boxedminipage}{11cm}
\begin{verbatim}int (*release)(struct inode *inode, struct file *filp)\end{verbatim}
\end{boxedminipage}

(「L.D.D.3」P.51)

ユーザ空間のcloseシステムコールで呼び出されるカーネル空間のreleaseメソッドは、デバイス制御が行われた後に必ず実行される必要がある。

この実験ではreleaseメソッドの関数名をDIO(digital input output) ボードにちなんでdio_releaseとする。

releaseメソッドもopenメソッドと同様にドライバに実装し、 dio_releaseが呼ばれた時に「dio_releaseが呼ばれた。」というメッセー ジだけを出力することにする。プログラムではこれをローマ字で次のように [dio_release] gaYobareta.と出力することにする。


\begin{boxedminipage}{11cm}
\begin{verbatim}int dio_release(struct inode *ino...
...dio_release] ga Yobareta. \n'');
return 0;
}\end{verbatim}
\end{boxedminipage}



MANOME Yoichi 平成19年1月6日