

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
ブロックデバイスとは?
このページでは「ブロックデバイス・とは?」をキーワードに、初心者にも分かるような解説を行います。まずは結論から。ブロックデバイスとは、データを固定サイズのブロックとして読み書きするデバイスのことです。
パソコンやスマートフォンの中には、ハードディスクやSSD、USBメモリ、SDカードなどの実際の記憶領域を指すデバイスがあります。これらは「ブロックデバイス」として扱われ、OSはデータをブロック単位で管理します。これに対して、キーボードやマウスのようにデータを1文字ずつ流して扱うのが「キャラクタデバイス」です。違いを理解すると、データの読み書きの仕組みが見えてきます。
ブロックサイズって何?
ブロックサイズとは、1回に読み書きするデータの単位のことです。一般的には 512 バイトや 4096 バイト(4KiB)などが使われます。ブロックサイズが大きいと大きなデータを素早く扱えますが、小さなデータの処理には不利になることもあります。OS はこのブロックサイズを基準にデータを動かし、キャッシュやキューを使って効率を高めます。
実際にはどう見えるの?
Linux などのOS では、ブロックデバイスは /dev/ の形で名前が付きます。例として /dev/sda や /dev/nvme0n1 は内部ストレージを指すブロックデバイスです。パーティションを作れば /dev/sda1、/dev/sda2 のようにさらに区切ることができます。
表で見る身近なブロックデバイスの例
| デバイス名 | 種類 | 用途 | 代表例 |
|---|---|---|---|
| /dev/sda | HDD/SSD | 内部ストレージ | SATA/IDE接続の大容量デバイス |
| /dev/nvme0n1 | NVMe SSD | 高速ストレージ | PCIe接続のSSD |
| /dev/sdb | 外部ストレージ | USBメモリ・外付けHDD | USB接続のデバイス |
デバイス名だけでは何のデバイスか分かりにくいことがあります。lsblk や fdisk -l、blkid などのコマンドを使うと、デバイスの種類や容量、パーティションの状態が分かります。機会があれば実機で試してみましょう。
ブロックデバイスとファイルシステム
ブロックデバイスはファイルシステムを乗せる基盤です。ファイルシステムを作成してからデータを書き込むと、私たちが普段使うファイル名でデータを管理できます。ファイルを保存するたびに、OS はブロックデバイス内の適切なブロックを選んでデータを配置します。
重要なポイントをまとめると
よくある誤解と確認ポイント
ブロックデバイスとキャラクタデバイスの違いを理解しておくと、データの移動やバックアップ、OSの設定時に役立ちます。データを扱う時は、必ずデータをバックアップしてから作業を進めましょう。特にパーティションの作成や変更はデータを破壊する可能性があるため、慎重に行ってください。
まとめ
この記事で学べるのは、ブロックデバイスが「データをブロック単位で読み書きする基盤」であり、ハードディスク、SSD、USBメモリ、SDカードなどが該当するということです。ブロックサイズの概念、デバイス名の見方、そしてファイルシステムの基礎につながる重要なポイントを押さえれば、パソコンの内部仕組みをより深く理解できます。
ブロックデバイスの関連サジェスト解説
- linux ブロックデバイス とは
- linux ブロックデバイス とは:データを一定の大きさのブロック単位で読み書きする、ストレージ系のデバイスのことです。Linux ではこうしたデバイスを表す特別なファイルが /dev に置かれており、実体はカーネルのデバイスドライバと結びついています。代表的な例として /dev/sda や /dev/sdb などのSATA/SSDのデバイス、/dev/nvme0n1 のNVMeデバイス、そしてファイルを仮想的にブロックデバイスとして扱う loop デバイスなどがあります。ブロックデバイスは通常、固定長のブロック(例: 512バイト、4キロバイトなど)での読み書きを想定しており、文字を1字ずつ扱うわけではありません。大きなデータを効率よく扱うための設計です。一方、文字デバイスは1バイトずつ細かくデータを読み書きします。例としてキーボードやシリアルポートなどが挙げられ、データは連続したバイト列として扱われます。ブロックデバイスと文字デバイスは、Linux のデバイスファイルのカテゴリ(major/minor 番号)で区別され、用途も異なります。Linux での使い方としては、ディスクや仮想ディスクにアクセスするには、デバイスファイルを介してカーネルのデバイスドライバとやりとりします。データの読み書きはバッファキャッシュを経由して高速化され、ファイルシステムがブロックデバイス上に作成されます。ディスクは複数のパーティションに分割でき、各パーティションは独立したブロックデバイスとして扱われます。例として /dev/sda1、/dev/sda2 など。パーティションに対して ext4 や xfs などのファイルシステムを作成し、マウントして /mnt のようなディレクトリから利用します。デバイスファイルには Major 番号と Minor 番号が付いており、これによりカーネルが対応するデバイスドライバとデータの流れを識別します。ls -l /dev の出力で確認でき、udev などで適切に割り当てられます。ループデバイスは、ファイルを仮想的なブロックデバイスとして扱う仕組みで、ISO イメージやディスクイメージの利用に使われます。ファイルをマウントする場合、まず loop デバイスに割り当て、次にファイルシステムを作成してマウントします。要するに、linux ブロックデバイス とは、データをブロック単位で扱うストレージの入口となるデバイスファイルの総称であり、ファイルシステムを配置して実際のデータを保存・取得する基盤です。
ブロックデバイスの同意語
- ブロックデバイス
- データを固定長のブロック単位で入出力するデバイスの総称。OS上では /dev/... のデバイスファイルとして表現され、HDD/SSD/NVMe などのデバイスが該当します。キャラクタデバイスと対照的に、ブロック単位で高頻度かつランダムなI/Oが行われます。
- ブロック型デバイス
- ブロックデバイスと意味合いが近い表現。ブロックサイズの固定長ブロック単位でI/Oを提供するデバイスを指します。
- ブロックストレージデバイス
- ブロックストレージとして提供されるストレージデバイス。クラウドやサーバー構成で、ファイルレベルではなくブロックレベルでデータを割り当て・管理します。
- ブロックストレージ
- ブロック単位でデータを扱うストレージの総称。クラウドの Block Storage サービスなど、ブロック単位での割り当てを指す場面で使われます。
- ブロックI/Oデバイス
- I/Oをブロック単位で処理するデバイスを指す表現。技術文書やカーネルの説明などで用いられることがあります。
- 固定長ブロックデバイス
- データを固定長のブロックで扱うデバイスという意味を強調した表現。概念の説明時に使われることがあります。
ブロックデバイスの対義語・反対語
- キャラクタデバイス
- 1バイトずつの逐次I/Oを行うデバイスのこと。代表例は端末やキーボード、/dev/tty など。データを小さな単位で処理する設計です。
- ファイルベースデバイス
- データをファイルとして扱い、直接ブロック単位でのI/Oではなく、ファイルI/Oを介してアクセスするデバイスの考え方。OSがファイルとして抽象化して扱います。
- ファイルストレージ型
- データをファイルとして管理するストレージ形態のこと。ブロックデバイスのブロックI/Oに対して、ファイルレベルの抽象化を提供します。
ブロックデバイスの共起語
- デバイスファイル
- Unix系OSでブロックデバイスを表す特殊なファイル。/dev/sda や /dev/nvme0n1 のように、デバイスに対する入出力をユーザー空間から操作する窓口です。
- ディスク
- 物理的な記憶媒体(HDD/SSD)を指すことが多く、ブロックデバイスとしてOSに認識されます。
- パーティション
- ディスクを論理的に区画化した領域。各パーティションは独立したブロックデバイスとして扱われることが多いです。
- パーティショニング
- ディスクを分割してパーティションを作成・変更する作業。fdisk や parted などのツールを使います。
- ファイルシステム
- ブロックデバイス上にデータを格納するための形式。ext4 や XFS、NTFS など、データの配置・アクセス方法を定義します。
- mkfs
- ファイルシステムをブロックデバイス上に作成するコマンドの総称。例: mkfs.ext4 /dev/sdb1。
- LVM
- Logical Volume Manager の略。複数のブロックデバイスを1つの大きな論理ボリュームとして管理する仕組みです。
- RAID
- 複数のブロックデバイスを組み合わせて冗長性や性能を向上させる技術。RAID0/1/5/6/10 などのレベルがあります。
- dm-crypt
- デバイスマッパの暗号化機能。ブロックデバイスを暗号化して保護します。
- LUKS
- Linux Unified Key Setup の略。dm-crypt の標準フォーマットで鍵管理が容易です。
- NVMe
- PCIe 接続の高性能なブロックデバイス(SSDなど)。徹底的に高速なI/Oを提供します。
- SATA
- ブロックデバイスの代表的な接続規格。HDD/SSDに広く用いられます。
- SCSI
- SCSI はブロックデバイスの通信規格。現在は SAS、SATA、NVMe などと併用されることが多いです。
- SAS
- Serial Attached SCSI。サーバ用途の高性能ブロックデバイス接続規格です。
- カーネル
- OSの中核となるソフトウェア。ブロックデバイスの管理・ドライバ・インタフェースはカーネル内で動作します。
- ブロックデバイス層
- カーネル内のブロックデバイスを扱う層。I/O スケジューリング、キャッシュ、デバイスドライバの管理を含みます。
- 仮想ブロックデバイス
- 実デバイスの上に作られた仮想的なブロックデバイス。例: dm-crypt、LVM、ループデバイスなど。
- ループデバイス
- ファイルをブロックデバイスとして扱うための仮想デバイス。バックアップやテストに使われます。
- I/Oスケジューラ
- ブロックデバイスへのI/Oリクエストの処理順序を決定する仕組み。CFQ、Deadline、NOOP などがあります。
ブロックデバイスの関連用語
- ブロックデバイス
- データをブロック単位で読み書きするデバイス。HDD/SSD/NVMe などが該当し、実体は /dev/... のブロックデバイスファイルで表現されます。
- 文字デバイス
- データを1文字ずつ読み書きするデバイス。キーボードやシリアルポート等が該当します。ブロックデバイスとは対になる概念です。
- デバイスファイル
- UNIX系OS でデバイスを表す特別ファイル。/dev 配下にあり、ブロックデバイスファイルと文字デバイスファイルがあります。
- セクタ
- ブロックデバイスの最小読書き単位。現在の多くは512バイトまたは4KiB単位です。
- ブロックサイズ
- ブロックデバイスが処理する最小単位のサイズ。セクタと同義ではなく、ファイルシステムが内部で用いるブロックのサイズ。
- 物理ブロックサイズ
- ハードウェアが持つ実際の最小読み書き単位(例: 512B、4096B)。
- 論理ブロックサイズ
- ファイルシステムが認識するブロックのサイズ。物理ブロックサイズと異なる場合があります。
- パーティション
- 1つのブロックデバイスを複数の区画に分割したもの。各パーティションは独立したブロックデバイスとして扱われます。
- パーティションテーブル
- ディスク上のパーティション配置を記録する仕組み。代表的には MBR と GPT があります。
- MBR
- 古いパーティションテーブル方式。最大4つの主パーティションを持ち、小容量ディスクに適しています。
- GPT
- 新しいパーティションテーブル方式。大容量ディスク対応で、UEFI と相性が良いです。
- デバイスドライバ
- 特定のハードウェアを制御し、OSとデバイス間の仲介を行うソフトウェア。ブロックデバイスの実体を提供します。
- ブロック層
- Linux カーネルのブロック I/O を管理する層。リクエストの受け取り、キューイング、ディスパッチを担当します。
- リクエストキュー
- ブロックデバイスへの I/O 要求を蓄積するデータ構造。キュー深さ(queue depth)で性能が影響します。
- ブロックI/O
- ブロックデバイスに対する読み書きの入出力操作全般のこと。
- gendisk
- Linux カーネルでディスクを表すデータ構造。ディスクの登録・管理、パーティション情報などを保持します。
- デバイスマッパ
- ブロックデバイスを他のブロックデバイスへ写像するフレームワーク。LVM、dm-crypt、RAID などで使われます。
- dm-crypt
- デバイスマッパを用いた暗号化レイヤ。暗号化された仮想デバイスを作成します。
- LVM
- Logical Volume Manager。複数の物理デバイスを結合して柔軟な論理ボリュームを作成します。
- Loopデバイス
- ファイルをブロックデバイスとして扱う仮想デバイス。ISOイメージ等のマウントに使われます。
- RAMディスク
- RAM を用いた揮発性のブロックデバイス。高速ですが電源断でデータが消えます。
- NVMeデバイス
- NVM Express 規格のブロックデバイス。PCIe 上で非常に高速なストレージを提供します。
- SCSIデバイス
- SCSI 規格のブロックデバイス群。HDD/SSD 以外にも複数のアーキテクチャで使われます。
- SCSI Generic (sg)
- SCSI コマンドを直接送信するためのジェネリックデバイス。通常は /dev/sg* で表され、低レベル操作向け。
- Virtioブロック
- 仮想化環境で使われる仮想ブロックデバイス。KVM/QEMU で実装される高性能デバイスです。
- ソフトウェア RAID (md RAID)
- Linux のソフトウェア RAID。mdadm で管理され、複数のブロックデバイスをひとつの冗長/容量配分されたデバイスにします。
- ファイルシステム
- ブロックデバイス上に配置されるデータ構造とアルゴリズム。ext4、XFS、Btrfs などが代表例です。
- ファイルシステムタイプ
- ブロックデバイス上に作成されたファイルシステムの種類。例: ext4, xfs, btrfs。
- マウント
- ファイルシステムをディレクトリ階層の特定のポイントに繋げる操作。実際にはブロックデバイス上のファイルシステムを使用します。
- SMART
- Self-Monitoring, Analysis and Reporting Technology。ディスクの健康状態を自己監視する機能の総称。
- udev
- デバイスファイルの動的管理を行うユーザー空間のデーモン。新しいデバイスが接続されると /dev 配下のエントリを作成します。
- devtmpfs
- 起動時に /dev を構成する仮想ファイルシステム。カーネルが提供するデバイスファイルの基盤です。
- Major番号/Minor番号
- デバイスファイルを識別する番号体系。Major がデバイスの種類、Minor が個別のデバイスを指します。
- O_DIRECT
- ファイルを開く際のオプションのひとつ。ページキャッシュをバイパスして直接 I/O を行います。
- I/Oスケジューラ
- ブロックデバイスへの I/O の実行順序を決めるアルゴリズム。CFQ、Deadline、Noop などがあります。
- パフォーマンス指標
- Throughput(スループット), Latency(待ち時間), IOPS など、ブロックデバイスの性能を測る指標です。
ブロックデバイスのおすすめ参考サイト
- ブロックデバイスとは - IT用語辞典 e-Words
- ブロック・ストレージとは? |ピュア・ストレージ - Pure Storage
- ブロック・ストレージとは - IBM
- ブロックデバイスとは? 意味や使い方 - コトバンク



















