next up previous
次へ: closeシステムコール 上へ: システムコールの実装(その1: dio_open, dio_release) 戻る: システムコールの実装(その1: dio_open, dio_release)

openシステムコール

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

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

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

通常、openメソッドでは主に初期化処理等が行われるが、今回の実験で は、dio_openが呼ばれた時に、単に「dio_openが呼ばれ た。」というメッセージだけを出力することにする。(今回は引数の inodfilpは使わない)なお、プログラムではメッセージとして ローマ字で次のように[dio_open] ga Yobareta.と出力することにする。


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

(L.D.D. のP.77 scull_open関数参照)



MANOME Yoichi 平成18年12月26日