差分
/* I/Oの抽象化 */
ます。ディレクトリ/dev以下に用意されているスペシャルファイルがデバイス
へのインタフェースです。
端末もスペシャルファイルとして抽象化されていて、たとえば現在使っている端
末は/dev/ttyのように見えます。ですから、ここに文字をリダイレクトすると
スクリーンにその文字が出力されます。
$ echo 'hello' > /dev/tty
hello
たとえばLinuxではIDEハードディスクが使えるコンピュータだとIDE 0 Masterに接続さ
由のためSCSI として取り扱われたりと状況でさまざまです。
/dev/cua0や/dev/ttyS0はシリアルポートのスペシャルファイルです。cua?は
たとえばモデムやFAXモデムを接続しておいて、自分から呼び出して接続を行
う(Call-Out)する時に使います。ttyS?は相手から呼び出される時に使います。
=== レイヤ図 ===
プログラムは、スペシャルファイルやシステムコールからカーネルを経由し、最
後はカーネル内にあるデバイスドライバを経由してハードウェアにアクセスし
ます。下に簡単なレイヤー図を載せます。
+---------------------------------------------+
| ハードウェア |
+---------------------------------------------+
=== ioctl ===
匿名利用者