next up previous
次へ: アプリケーションの作成 上へ: システムコールの実行(open, close) 戻る: システムコールの実行(open, close)

デバイスノードの生成

デバイスドライバへのアクセスを行うためには、デバイスノードと呼ばれるスペ シャル・ファイルが必要になる。
デバイスノードは「/dev」ディレクトリの下に置かれる。

デバイスノードはメイクノード(mknod)コマンドで生成される。

mknodコマンドに指定するオプションは次の通りである。


\begin{boxedminipage}{\textwidth}
\begin{verbatim}mknod <デバイスノード名> <デバイスの種類> <メジャー番号> <マイナー番号>\end{verbatim}
\end{boxedminipage}

具体的なオプションを次のようにしてみる。

つぎのようにデバイスノードを生成する。


\begin{boxedminipage}{\textwidth}
\begin{verbatim}...

生成したデバイスノードの情報を次のように確認してみる。 (日付と時刻は変る。)

  # ls -l /dev/pci2726c
  crw-r--r--   1 root   root   254,  0 Nov 1 15:30  /dev/pci2726c

これで、デバイスドライバ(メジャー番号254)に対応したデバイスノードの作 成が完了した。

デバイスドライバの組み込み時にメジャー番号254がすでに使われていた場合 には、メジャー番号が253等にずれることがある。このような場合に、今作成し た/dev/pci2726cをそのまま使用してしまうと、すでに使用中のメジャー 番号254のデバイスドライバを参照してしまい、dio_drvを制御すること ができない。

メジャー番号を自動割り当てするデバイスドライバを二つ以上使用する場合には、 このような現象が発生する可能性があるので、注意しなければならない。
(注意. 組み込みの順番を変更しない。ドライバを組み込むたびにデバイスノード を作り直す。 等)



MANOME Yoichi 平成19年1月6日