Linuxの文字とブロックデバイスの権限

Linuxの文字とブロックデバイスの権限

Linuxファイルの権限を学ぶつもりです。この場合、crwxrwxrwx の (文字デバイス) "c" と brwxrwxrwx の (ブロックデバイス) "b" を除いて、ほとんどのことが明確です。 Wikipediaでは、文字デバイスを次のように説明しています。

文字特殊ファイルまたは文字デバイスは、ハードウェアデバイスへのバッファリングされていない直接アクセスを提供します。プログラムが一度に1文字を読み書きすることを必ずしも許可するわけではありません。これはそのデバイスによって異なります。

ブロックデバイス情報:

ブロック特殊ファイルまたはブロックデバイスは、ハードウェアデバイスへのバッファリングされたアクセスを提供し、その詳細のいくつかの抽象化を提供します。 [5]文字デバイスとは異なり、ブロックデバイスを使用すると、プログラマは常にすべてのサイズ(単一文字/バイトを含む)とすべてのソートのブロックを読み書きできます。

この説明は私にとってとても技術的です。誰でもこれをより簡単な方法で説明できますか?挨拶

答え1

すべて文字デバイスとブロックデバイス

  • 文字('c')デバイスは、ドライバが個々の文字(バイト、オクテット)を送受信することによって通信するデバイスです。
  • ブロック(「b」)デバイスは、ドライバがデータブロック全体を転送して通信するデバイスです。

たとえば、端末にテキストを入力すると文字が使用され、ハードドライブを分割すると文字が使用されます。彫刻

答え2

b =ブロックデバイスは、デフォルトではディスク(sata、sas、scsi、pata、ide接続デバイス)です(ただし、他のコンテナ/ディスクの一部である可能性があります)。

テープデバイスは文字ベースのデバイスですが(sas/scsi/sata/ide/pata/fc/iSCSI(一種)を使用して接続されます...)

すべてのブロックデバイスは、消費プロセスによってより小さいまたはより大きな数のバイト/オクテットで読み書きされます。

c = 文字デバイス: 一度に 1 バイト/オクテット。

ほとんどのデバイスは通常、カーネル(カーネルで実行されるファイルシステムコードなど)によってアクセスされますが、ディスク(ブロック指向)はdd?によってテープにダンプされます。

ヒント:1つのブロックはプロセスメモリに読み込まれ、一度に1バイトずつテープにダンプされ、もう1つのブロックはメモリに読み込まれます。

テープが正しく機能するためには、システムが書き込み速度に追いつくことができる必要があります。つまり、プリミティブテープサブシステムであっても、テープの転送速度を一定に保ちながら、テープが進行する速度だけ速くデータを転送することができる。つまり、データの書き込みが可能です。 )この場合、ddを実行するプロセスは各ファイル自体を開いてダンプするのではなく、ファイルシステムに直接アクセスします。

tarを使用すると、プロセスは通常のオープン/読み取り/閉じるシステムコールを使用して各ファイルまたはディレクトリを読み取ります。

答え3

あなたが見ているのはファイルモードです:

スキーマは権限、ファイル形式(関心のある部分)そして能力。ファイル形式は権限とは無関係であり、権限を知るためにファイル形式を知る必要はありません。システムを使用するために、およびcタイプを知る必要さえなく、b一般にデバイスタイプを知ることで十分です。

バラよりGnu / linuxでファイル権限などを設定する他の方法は何ですか?権限とモードに関する追加情報

関連情報