01. Linuxの全体像: まずは地図を持つ

01. Linuxの全体像: まずは地図を持つ

Linuxを学び始めると、最初はコマンドに目が行きがちです。

でも本当に大事なのは、Linuxがどんな部品でできていて、どうつながっているかです。

この記事では「つまりLinuxって何なのか」を、最初に整理します。

Linuxを3つの層で見る

Linuxはざっくり次の3層で考えると理解しやすくなります。

1. ユーザー空間: bash、nginx、pythonなど

2. カーネル空間: process管理、メモリ管理、ファイル管理、ネットワーク管理

3. ハードウェア: CPU、メモリ、NIC、ディスク

図解テキスト


[User Space]
  bash / nginx / python / sshd
      |
      | syscall
      v
[Kernel Space]
  process scheduler
  memory manager
  VFS
  network stack
      |
      v
[Hardware]
  CPU / RAM / SSD / NIC

なぜこの見方が必要か

例えばWebアプリが重いとき、原因は次のどれかにあります。

  • processが増えすぎてCPU待ち
  • メモリ不足でswap発生
  • ディスクI/Oが詰まる
  • ネットワーク遅延

どこで詰まっているかを判断するには、Linux内部の地図が必要です。

DockerやAWSとのつながり

  • Dockerコンテナは、Linux kernelをホストと共有している
  • EC2の中身はLinuxが多く、トラブル時はLinux知識が直結する
  • systemdやjournalの理解が、運用トラブルの調査速度を上げる

まず手を動かす


uname -a
cat /etc/os-release
ps -ef | head
mount | head
ip addr

ここでのポイント

  • Linuxは単なるCLI環境ではなく、資源管理をするOS
  • kernelは見えないが、すべてのI/Oの中継点
  • ユーザー空間のプログラムはsyscallでkernel機能を使っている

今回理解できたこと

  • Linuxは「層」で理解すると迷いにくい
  • コンテナやクラウドの理解にもLinux内部知識が効く
  • 次回以降は各層を分解して見る

Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です