【作業2】デバイス・ファイルの作成

 LinuxなどのUNIX系OSでは,周辺機器を「キャラクタ・デバイス」と「ブロック・デバイス」,「ネットワーク・デバイス」の3種類に分類し,それぞれ異なる方法で管理している*2

 キャラクタ・デバイスはファイルのように読み書きができるが,バッファを経由しないでアクセスする。そのため,基本的に順番通り(シーケンシャル)にしかアクセスができない。代表的なキャラクタ・デバイスは,シリアル・ポートやキーボード,マウスなどであり,キャラクタのストリーム(流れ)としてデータを扱う。

 一方,ブロック・デバイスはキャラクタ・デバイスと同様に読み書き可能だが,バッファを経由してデバイスにアクセスする。そのため,ランダムにアクセスができるという特徴を持つ。代表的なブロック・デバイスはハード・ディスク装置,CD-ROMドライブ,フロッピ・ディスク・ドライブなどであり,固定長サイズのデータを扱う。

 これらの周辺機器にアプリケーションからアクセスするには,「デバイス・ファイル」と呼ばれる特殊なファイルを用いる。このデバイス・ファイルは,/devディレクトリに格納されている。

 自分Linuxでもハード・ディスク装置やキーボードといった周辺機器を使用するため,このデバイス・ファイルを用意しなければならない。自分Linuxの/devディレクトリ内にデバイス・ファイルを作成するには「MAKEDEV」というスクリプトを用いる。このスクリプトは,前回導入したMAKEDEVのソース・アーカイブ(makedev_2.3.1.orig.tar.gz)に含まれている(本誌付録CD-ROMにも再収録)。

 なお,バージョンがより新しければ,多くの周辺機器に対応している。バージョン2.3.1よりも新しいバージョンがあれば,そちらを用いてみても良いだろう。ここでは,バージョン2.3.1のMAKEDEVスクリプトを使用した手順を紹介する。

 前回,/usr/local/src/origsoftディレクトリにMAKEDEVのソース・アーカイブをコピーしたので,それを展開して導入する。導入先は,自分Linux構築作業用ディレクトリだ。ROOT変数の引数に,このディレクトリ名を指定し,make installコマンドを実行すると,

/devディレクトリにMAKEDEVスクリプトが,/usr/man/man8ディレクトリにMAKEDEVスクリプトのドキュメントがインストールされる。最後に,MAKEDEVスクリプトを実行し,/usr/local/src/origdev/devディレクトリ内にデバイス・ファイルを作成しよう。


図4 作成したデバイス・ファイルの確認
[画像のクリックで拡大表示]

 MAKEDEVスクリプトに「generic」というオプションを付けると,一般的なデバイスのデバイス・ファイルが一気に作成される。

 図4[表示]のようにlsコマンドを発行し,/usr/local/src/origdev/devディレクトリ以下に作成されたデバイス・ファイルを確認しておこう。