Linux(Linux Essentials)4-2.ハードウェアとデバイス・パーティション

今回紹介するのは以下
・ハードウェアの基本
・ハードディスクとデバイスファイル・デバイスドライバ
パーティションについて






■ハードウェアの基本
マザーボードはCPUやメモリなどの各種装置を搭載する基板のこと。
光学ドライブではCDやDVDなどのディスクを読み書きできる。
・周辺機器にはマウスやディスプレイ、キーボードのほかプリンタ、スキャナなどがある。


・外部記憶装置SSDの特徴。
SSDはHDDよりも高速なアクセスが可能。
SSDはHDDのようなモーターなどの稼働パーツがないため静か。





■ハードディスクとデバイスファイル・デバイスドライバ
・ハードディスクを新たに追加したときに利用できるようになるまでの手順。
1.ハードディスクをコンピュータに接続し、対応するデバイスファイル(「/dev/sdb」など)が存在することを確認。
2.パーティション作成
3.パーティション初期化
4.ルートファイルシステムへのマウント


・主なデバイスファイル。
→/dev/hd*IDE接続されたハードディスク(※)
→/dev/sd*SATAで接続されたハードディスク。1つめはsda、二つめはsdb... と割り振られる
→/dev/sr0:CDまたはDVDドライブ
※旧インタフェース。現在はIDE接続されたHDDもSATA接続と同様に扱われるため「/dev/sda」などと表示される。


・ハードディスク追加に関するコマンド。
パーティション初期化:mkfsなど
パーティション作成:fdisk、gdisk、parted
→ルートファイルシステムへのマウント:mountなど


例:以下はハードディスクを新たに追加したときに利用できるようになるまでの手順を列挙したものである。正しい順番はどれか。

A:パーティションの初期化
B:ルートファイルシステムへのマウント
C:パーティションの作成

→C→A→B


例:周辺機器などの装置やハードディスクなどを操作するために、カーネルモジュールとして利用できるプログラム。
デバイスドライバ
※デバイス動作させるためのソフトウェア
カーネルモジュールとはカーネルの一機能(プログラムファイル)であり、必要なタイミングでカーネルへ追加(ロード)や削除(アンロード)を行うことができる。


例:マザーボードとHDD(ハードディスクドライブ)とを接続する規格。
SATA


例:SATA接続されたハードディスクの1番目のパーティションを表すデバイスファイル。
→/dev/sda1
SATA接続されたハードディスクは、1つめから「/dev/sda」、2つめは「/dev/sdb」と割り当てられる。
パーティション番号は先頭から1,2...とカウントされ「/dev/sda1」等のデバイスファイルが作成される。


例:デバイスファイル(デバイス=機器を扱うためのファイル)が配置される場所はどこか。
→/dev


例:デバイスドライバの特徴。
カーネルモジュールとして必要に応じてロード・アンロードが行える。
→いくつかのデバイスドライバ予めカーネルに含まれている
※「/dev」ディレクトリ配下の各装置に割り当てられるファイルは「デバイスファイル」で、デバイスドライバとは別のもの


例:2つめのハードディスクに作成された5番目のパーティションを表すデバイスファイル。
→/dev/sdb5


例:デバイスファイル「/dev/sdc3」が割り当てられているのはどのデバイスか。
3番目のHDDの3番目パーティション


パーティションについて
例:Linuxで利用可能なパーティションテーブルの方式。
MBR(Master Boot Record)※作成できる基本パーティション4つ
→GPT(GUID Partition Table)※基本パーティション128個まで作成可能
GPTはMBRよりも柔軟にパーティションを作成できる。


例:ハードディスクへパーティションを作成するコマンド(GPT方式には対応していないものとする)。
→fdisk


例:ハードディスクへパーティションを作成するコマンド(GPT方式にもMBR方式にも対応しているものとする)。
→parted
→gdisk
fdiskコマンドはMBR方式のみ対応


例:MBR方式で基本パーティションを5つ作成しようとしたところ、作成できなかった。原因として考えられるもの。
→基本パーティション最大数4つを超えている


例:MBR(Master Boot Record)方式のパーティションテーブルにおいて作成できるパーティションの種類。
基本(Primary)パーティション(最大4個)。
拡張(Extended)パーティション
※5つ以上のパーティションを作成する場合は、基本パーティションのひとつを拡張パーティションとして割り当てる。
 そのパーティションをさらに論理(Logical)パーティションに分割する。