LPIC Level1 復習ラジオ 02:ハードウェアと起動
音声
目次
コンピューターを構成する主な部品
Linuxは、CPU、メモリ、ストレージなどのハードウェアをカーネルが管理することで動作します。
まずは、各部品を次のように整理します。
| 部品 | 主な役割 |
|---|---|
| CPU | 命令を実行し、計算や処理を行う |
| RAM | 実行中のプログラムやデータを一時的に置く |
| ROM・フラッシュメモリ | 電源を切っても保持する必要があるファームウェアなどを保存する |
| SSD・HDD | OS、アプリケーション、利用者のファイルを長期保存する |
CPU
CPUは、Central Processing Unitの略です。日本語では中央処理装置と呼ばれます。
プログラムに書かれた命令を読み取り、計算、比較、データ転送などを実行します。よく「コンピューターの頭脳」と表現されます。
コアとスレッド
CPUには複数のコアを持つ製品があります。コアは、命令を実行する処理単位です。
また、1つの物理コアをOSから複数の論理CPUとして見せる仕組みもあります。このため、物理CPUの個数、コア数、OSから見えるCPU数が同じとは限りません。
アーキテクチャ
CPUには、x86、x86_64、ARMなどのアーキテクチャがあります。CPUが理解できる命令体系が異なるため、OSやプログラムも対応した形式が必要です。
64ビット環境では、x86_64、AMD64、Intel 64などの表記を目にします。名称は文脈によって異なりますが、一般的な64ビットPC向けアーキテクチャを示す表現として使われます。
メモリ(RAM・ROM)
RAM
RAMは、Random Access Memoryの略です。
実行中のプログラムや、そのプログラムが処理しているデータを一時的に保持します。一般的なRAMは揮発性であり、電源を切ると内容が失われます。
RAMが不足すると、Linuxはストレージ上のスワップ領域を補助的に使用できます。ただし、SSDやHDDはRAMより低速なため、スワップの利用が増えると処理が遅くなることがあります。
ROM
ROMは、Read Only Memoryの略です。
本来は読み出し専用メモリを意味しますが、現在のPCでは、BIOSやUEFIなどのファームウェアを保存する書き換え可能なフラッシュメモリも、広い意味でROMと呼ばれることがあります。
LPICの復習では、RAMは作業中の一時記憶、ROMやフラッシュメモリは電源を切っても内容を保持する記憶、と整理すると分かりやすいです。
SSDとHDD
SSDとHDDは、OSやファイルを長期的に保存するストレージです。どちらも電源を切ってもデータが残ります。
HDD
HDDは、Hard Disk Driveの略です。磁気ディスクを回転させ、磁気ヘッドでデータを読み書きします。
大容量を比較的安価に用意しやすい一方で、機械的に動く部品があるため、振動や衝撃の影響を受けやすく、ランダムアクセスはSSDより遅い傾向があります。
SSD
SSDは、Solid State Driveの略です。主にフラッシュメモリを使ってデータを保存します。
機械的に回転する部品がなく、一般にHDDより高速で、動作音も小さくなります。
Linuxでは、SSDやHDDなどをブロックデバイスとして扱います。ブロックデバイスは、一定の大きさのデータ単位で読み書きする装置です。
BIOSとUEFI
PCの電源を入れた直後は、まだLinuxカーネルは動作していません。最初に動き、ハードウェアの初期化や起動装置の選択を行うのがファームウェアです。
BIOS
BIOSは、Basic Input/Output Systemの略です。
従来のPCで広く使われてきたファームウェアで、接続された機器を初期化し、起動可能なディスクを探してブートローダーへ処理を渡します。
UEFI
UEFIは、Unified Extensible Firmware Interfaceの略です。
OSとプラットフォームファームウェアの間のインターフェースを定めた仕様です。UEFIにはブートマネージャーがあり、設定された起動項目からOSローダーなどを読み込めます。
UEFI環境では、一般にEFIシステムパーティション、略してESPに置かれた起動用プログラムを読み込みます。
MBRとGPT
MBRとGPTは、ディスク上のパーティション情報を管理する方式です。BIOSやUEFIとは別の分類です。
MBR
MBRは、Master Boot Recordの略です。
ディスクの先頭部分に、起動用コードやパーティション情報を保持する従来の方式です。
一般的なMBR形式では、基本パーティションは最大4個です。4個を超えて分割する場合は、拡張パーティションと論理パーティションを利用します。
また、一般的な512バイトセクターを前提としたMBRでは、扱えるディスク容量におおむね2TiBの制限があります。
GPT
GPTは、GUID Partition Tableの略です。
MBRより新しいパーティション方式で、大容量ディスクや多数のパーティションを扱いやすくなっています。
GPTでは、パーティション情報の冗長な保存や、情報を検査する仕組みも用意されています。
Linuxが起動するまで
一般的なLinux PCの起動は、次の流れで整理できます。
- 電源投入
CPUがファームウェアの処理を開始します。 - BIOSまたはUEFI
ハードウェアを初期化し、起動する装置や起動項目を選びます。 - ブートローダー
GRUBなどがLinuxカーネルと初期RAMファイルシステムをメモリへ読み込みます。 - Linuxカーネル
CPU、メモリ、デバイスなどを初期化し、ルートファイルシステムを利用できる状態にします。 - initまたはsystemd
カーネルが最初のユーザー空間プロセスを起動し、必要なサービスを開始します。 - ログイン可能な状態
文字画面やGUIから利用者がログインできるようになります。
電源投入 → BIOS・UEFI → ブートローダー → Linuxカーネル → systemdなど → ログイン
GRUBは、GRand Unified Bootloaderの略です。複数のOSや複数のカーネルから、起動対象を選択できる代表的なブートローダーです。
systemdやサービス開始の詳しい仕組みは、03ページの「Linuxの起動」で扱います。
Linuxで確認するコマンド
CPU情報
lscpu
lscpuは、CPUアーキテクチャ、CPU数、コア数、スレッド数などの情報を表示します。
メモリ使用量
free -h
freeは、物理メモリとスワップの使用状況を表示します。-hは、人が読みやすい単位で表示するオプションです。
ブロックデバイス
lsblk
lsblkは、SSD、HDD、パーティションなどのブロックデバイスをツリー状に表示します。
詳しい使い方は、次のマニュアルで確認できます。
man lscpu
man free
man lsblk
30秒チェック
- 実行中のプログラムやデータを一時的に保持する装置は何でしょうか。
- PCの電源投入後、OSより先に動くものは何でしょうか。
- BIOS・UEFIと、MBR・GPTは、それぞれ何に関する用語でしょうか。
- ファームウェアから処理を受け取り、Linuxカーネルを読み込む代表的なプログラムは何でしょうか。
答えを表示
- RAM
- BIOSやUEFIなどのファームウェア
- BIOS・UEFIはファームウェア、MBR・GPTはパーティション方式
- GRUBなどのブートローダー
要約
- CPUは命令を実行し、RAMは実行中のデータを一時的に保持します。
- SSDとHDDは、電源を切ってもデータを保持するストレージです。
- BIOSとUEFIは、OSより先に動くファームウェアに関する用語です。
- MBRとGPTは、ディスクのパーティション情報を管理する方式です。
- 一般的な起動順序は、ファームウェア、ブートローダー、カーネル、systemdなどです。
lscpu、free -h、lsblkで基本的なハードウェア情報を確認できます。