Linux基礎:ハードウェアとLinux

 Linux を利用する上で、ソフトウェアの知識だけでなく ハードウェアの理解 も欠かせません。サーバーや PC に Linux をインストールするとき、OS が正しく動作するためには、CPU やメモリ、ストレージ、周辺機器といったハードウェアを正しく認識できる必要があります。クラウド環境の普及により、物理機器を直接触る機会は減りましたが、オンプレミス環境や組込み機器ではハードウェアの知識が不可欠です。ここでは、コンピュータの基本的な構成と、それを Linux がどのように扱うかを整理して学びます。

1.コンピュータの構成と役割

1.1. コンピュータを構成する主要パーツ

Linux システムを構築する際に知っておくべき主要なパーツを以下にまとめます。

パーツ名説明
マザーボード全ての部品を接続する基盤。チップセットや拡張スロットを備え、システム全体の土台となる。
CPU(プロセッサ)コンピュータの頭脳。命令を解釈して実行する。Intel Core や AMD Ryzen などが代表例。
メモリ(RAM)一時的にデータを格納する高速領域。電源を切ると内容は消える。
HDD(ハードディスク)磁気ディスクを用いた大容量ストレージ。低価格だが SSD より速度は遅い。
SSDフラッシュメモリを用いた高速ストレージ。近年の主流で、Linux サーバーにも多用される。
光学ドライブDVD や Blu-ray メディアを読み書きする装置。ソフトウェアの配布やバックアップに利用される。
テープ装置長期保存用のバックアップ媒体。大容量・低コストでサーバー用途に多い。
電源ユニット各デバイスに安定した電力を供給する。
UPS(無停電電源装置)停電時に一定時間電力を供給し、システムを安全にシャットダウンさせる。

 これらのパーツが連携することでコンピュータは機能します。Linux インストール時には、OS がこれらのハードウェアを正しく認識できるかが重要です。

1.2. アーキテクチャと互換性

 ハードウェアの設計思想を アーキテクチャ と呼びます。x86-64、ARM、PowerPC などが代表的で、アーキテクチャが異なると動作可能な OS やアプリケーションも変わります。
Rocky Linux を含む多くのディストリビューションは x86-64 を中心に、ARM 向けなど複数のアーキテクチャをサポートしています。

2.デバイスとLinux

2.1. デバイスとその種類

Linux が扱うハードウェア部品や周辺機器をまとめて デバイス と呼びます。デバイスには以下のような種類があります。

デバイスの種類
内部デバイスCPU、メモリ、ストレージ、ネットワークカード
入力デバイスキーボード、マウス、タッチパネル
出力デバイスディスプレイ、プリンタ、スピーカー
外部周辺機器USB メモリ、外付け HDD、Web カメラ

2.2. デバイスドライバの役割

OS がハードウェアを認識し、適切に動作させるには デバイスドライバ が必要です。

項目説明
デバイスドライバとはOS とハードウェアの橋渡しをするソフトウェア
提供方法Linux カーネルに組み込み済み/追加モジュールとして提供/ベンダー配布
注意点Windows 専用ドライバしか提供されないデバイスは Linux で利用できない場合がある。

 Linux カーネルには多くの汎用デバイスドライバが標準搭載されており、基本的な機器はインストール直後から認識されます。ただし、新しいハードウェアや特殊なデバイスでは、追加のドライバが必要になることもあります。

3.ハードウェア管理に役立つコマンド

Linux では、ハードウェア情報を取得するためにいくつかのコマンドが用意されています。

3.1. lscpu(CPU情報の表示)

[root@rocky9 ~]# lscpu
アーキテクチャ:                        x86_64
  CPU 操作モード:                      32-bit, 64-bit
  Address sizes:                       39 bits physical, 48 bits virtual
  バイト順序:                          Little Endian
CPU:                                   2
  オンラインになっている CPU のリスト: 0,1
ベンダー ID:                           GenuineIntel
  モデル名:                            12th Gen Intel(R) Core(TM) i7-12700F
    CPU ファミリー:                    6
    モデル:                            151
    コアあたりのスレッド数:            1
    ソケットあたりのコア数:            2
    ソケット数:                        1
(省略)

CPU の型番、アーキテクチャ、コア数などを表示します。

3.2. lsblk(ストレージ情報の表示)

[root@rocky9 ~]# lsblk
NAME             MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                8:0    0   20G  0 disk 
├─sda1             8:1    0    1G  0 part /boot
└─sda2             8:2    0   19G  0 part 
  ├─rl_vbox-root 253:0    0   17G  0 lvm  /
  └─rl_vbox-swap 253:1    0    2G  0 lvm  [SWAP]
sr0               11:0    1 1024M  0 rom  

接続されているディスクやパーティションの情報を確認できます。

3.3 .free(メモリ使用量の表示)

[root@rocky9 ~]# free -m
               total        used        free      shared  buff/cache   available
Mem:            1771        1213         163          15         571         558
Swap:           2047           3        2044

メモリとスワップの使用状況を表示します。

まとめ

  • Linux を動かすには、ハードウェアの基本構成を理解しておくことが重要。
  • ハードウェアを正しく動作させるためには デバイスドライバ が必要であり、Linux カーネルには多くのドライバが標準搭載されている。
  • lscpulsblkfree などのコマンドを活用することで、CPU・ストレージ・メモリの状態を簡単に確認できる。
  • ハードウェア知識と Linux の操作スキルを組み合わせることで、より安定したシステム運用が可能となる。