UNIXシステムの文字特殊ファイルとブロック特殊ファイルとは何ですか? [コピー]

UNIXシステムの文字特殊ファイルとブロック特殊ファイルとは何ですか? [コピー]

Unixシリーズシステムの文字特殊ファイルとブロック特殊ファイルは、通常のファイルとどのように異なりますか?なぜそれぞれ「キャラクタースペシャル」と「ブロックスペシャル」と呼ぶのですか?

ベストアンサー1

プログラムがファイルからデータを読み書きする場合、要求はカーネルドライバに送信されます。ファイルが通常のファイルの場合、データはファイルシステムドライバによって処理され、通常ディスクまたは他の記憶媒体の特定の領域に保存され、ファイルから読み取られたデータは以前にその場所に書き込まれたデータです。さまざまな状況が発生する他のファイル形式があります。

デバイスファイルからデータを読み書きする場合、その要求はデバイスドライバによって処理されます。各デバイスファイルには、使用するドライバを識別する関連番号があります。デバイスがデータを処理する方法は、デバイス自体の問題です。

ブロックデバイス(ブロック特殊ファイルとも呼ばれます)は通常、通常のファイルと非常によく似ています。つまり、バイト配列で指定された位置から読み取られた値は、その位置に書き込まれた最後の値です。ブロックデバイスのデータはメモリにキャッシュでき、書き込みはキャッシュから再読み込みできます。ブロック装置は一般に検索可能である。つまり、アプリケーションはファイル内の場所の概念を変更できます。 「ブロックデバイス」という名前は、そのハードウェアが通常、ブロック全体(ハードディスクのセクタなど)を一度に読み書きするという事実に由来しています。

文字デバイス(文字特殊ファイルとも呼ばれる)は、パイプ、シリアルポートなどのように動作します。書いたり読んだりするのは即時作業です。ドライバーがデータを処理する方法は、ドライバー自身のビジネスです。文字デバイスにバイトを書き込むと、画面に表示され、シリアルポートに出力され、サウンドに変換できます。デバイスからバイトを読み取ると、シリアルポートは入力を待ち、任意の数を返すことができます。 byte(/dev/urandom)、...「文字デバイス」という名前は、各文字を個別に処理するという事実に由来しています。

バラよりウィキペディアそして/dev、サブディレクトリ、ファイルの理解より多くの情報を知りたいです。

おすすめ記事