差分

移動先: 案内検索

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

22 バイト追加, 2015年7月27日 (月) 15:50
/* I/Oの抽象化 */
== デバイススペシャルファイル ==
=== I/Oの抽象化 O の抽象化 ===
Unixで使われた秀逸なアイデアを3つ上げろといわれたら、多分、多くの人が、階Unix で使われた秀逸なアイデアを3つ上げろといわれたら、多分、多くの人が、階層化ファイルシステム、パイプ、そしてデバイススペシャルファイル(単にスペシャルファイルとも呼ぶ)をあげるでしょう。今回はその中の2つに関係しています。層化ファイルシステム、パイプ、そしてデバイススペシャルファイル(単にスペシャルファイルとも呼ぶ)をあげるでしょう。今回はその中の2つに関係しています。デバイスを抽象化するこのアイデアによって、Iデバイスを抽象化するこのアイデアによって、 I/OのデバイスもすべてファイO のデバイスもすべてファイルと同じ統一したインタフェースで扱えるようになりました。ルと同じ統一したインタフェースで扱えるようになりました。例えばハードディ例えばハードディスクや端末といったものに対して、プロセスから直接ハードウェアにアクセスする必要はありません。スクや端末といったものに対して、プロセスから直接ハードウェアにアクセスすることはありません。必ずII/Oのスペシャルファイルを経由してアクセスしO のスペシャルファイルを経由してアクセスします。ます。ディレクトリディレクトリ /dev以下に用意されているスペシャルファイルがデバイスへのインタフェースです。dev 以下に用意されているスペシャルファイルがデバイスへのインタフェースです。
端末もスペシャルファイルとして抽象化されていて、たとえば現在使っている端末は端末もスペシャルファイルとして抽象化されていて、たとえば現在使っている端末は /dev/ttyのように見えます。ですから、ここに文字をリダイレクトするとスクリーンにその文字が出力されます。tty のように見えます。ですから、ここに文字をリダイレクトするとスクリーンにその文字が出力されます。
<pre class="bash">
$ echo 'hello' > /dev/tty
hello
</pre>
たとえばモデムやFAXモデムを接続しておいて、自分から呼び出して接続を行
う(Call-Out)する時に使います。ttyS?は相手から呼び出される時に使います。
 
=== レイヤ図 ===