【Linux】デバイスファイルとは?ブロックデバイスとキャラクタデバイスの違い

Linuxのデバイスファイルや、ブロックデバイスとキャラクタデバイスの違いについてまとめました。

デバイスファイル

デバイスファイルは、OSの入出力機能の1つです。
周辺デバイスをファイルシステム上のファイルのように扱い、ファイルの読み書きと同じような手順で、データの入出力や制御を行えるようにしたものです。
デバイスファイルは「/dev」以下に配置されています。プログラムがこのデバイスファイルに対してアクセスすると、カーネル内に組み込まれたデバイス・ドライバが呼び出され、ファイルの代わりにデバイスにアクセスします。

ブロックデバイスとキャラクタデバイス

lsコマンドで確認すると、デバイスファイルのファイル情報の先頭に「b」や「c」があります。

$ ls /dev

「b」は、ブロックデバイスという「アクセス時にバッファを用いるデバイス」を指します。
ブロックデバイスはブロック単位でデバイスにアクセスします。
(例:ハードディスク、RAMディスク、RAIDボリュームなど)

「c」は、キャラクタデバイスという「アクセス時にバッファを用いないデバイス」を指します。
キャラクタデバイスはキャラクタ(文学)単位でアクセスします。
(例:キーボード、マウス、端末、プリンタなど)

関連ページ

【LinuC】試験対策と例題まとめ
LinuCの試験対策と例題(学習サイト)についてまとめました。
404 NOT FOUND | Linux超入門
【Linux超入門】システムの基礎とよく使うコマンドなど徹底解説
Linuxシステムの基礎とよく使うコマンドなどについて入門者向けに解説します。

コメント