差分

移動先: 案内検索

デバイススペシャルファイル

28 バイト追加, 2007年11月15日 (木) 11:11
/* I/Oの抽象化 */
ます。ディレクトリ/dev以下に用意されているスペシャルファイルがデバイス
へのインタフェースです。
 
端末もスペシャルファイルとして抽象化されていて、たとえば現在使っている端
末は/dev/ttyのように見えます。ですから、ここに文字をリダイレクトすると
スクリーンにその文字が出力されます。
 
$ echo 'hello' > /dev/tty
hello
 
たとえばLinuxではIDEハードディスクが使えるコンピュータだとIDE 0 Masterに接続さ
由のためSCSI として取り扱われたりと状況でさまざまです。
:補足; 補足: 接続した順番にデバイスを決めていくので、USB機器などの接続では挿したタイミングでデバイス名が異なることが発生してしまう場合があります。そこで現在ではUUID(Universally Unique Idenifier )という方式を使ってデバイスをユニークに認識する方法を用意しています。fstab(5)、mount(8)、tune2fs(8)を参照してみてください。 
/dev/cua0や/dev/ttyS0はシリアルポートのスペシャルファイルです。cua?は
たとえばモデムやFAXモデムを接続しておいて、自分から呼び出して接続を行
う(Call-Out)する時に使います。ttyS?は相手から呼び出される時に使います。
 
 
=== レイヤ図 ===
プログラムは、スペシャルファイルやシステムコールからカーネルを経由し、最
後はカーネル内にあるデバイスドライバを経由してハードウェアにアクセスし
ます。下に簡単なレイヤー図を載せます。
 
+---------------------------------------------+
| ハードウェア |
+---------------------------------------------+
 
=== ioctl ===
匿名利用者