初級ではLinuxを「無料で自由な、みんなで育てるOS」と捉えました。中級では、その中で 何がどう役割分担しているか(カーネル・プロセス・ファイル・権限・シェル)を見ます。
中級の解説は準備中のため、中級の内容を表示しています。
概要 — まず全体をつかむ
詳細 — 1段階ずつ追う
これは何をする係?
Linuxの世界は、大きく 2つの空間 に分かれています。
- カーネル空間 — ハードウェアを直接管理する中心。CPU・メモリ・ディスクの割り当てはここが仕切る
- ユーザー空間 — アプリやシェル ※1 が動く場所。ハードを使いたいときは、自分で触らず カーネルにお願い する
なぜ分けるのか。アプリが直接ハードを触れると、1つのアプリの暴走が全体を壊しかねません。カーネルという管理役を必ず通す ことで、安全と安定を守っているのです。
アニメーション『ユーザー空間とカーネル空間(境界の関所)』を開く
橋渡し役が シェル ※1。あなたが打ったコマンドを受け取り、カーネルへの依頼に変えて実行してくれる「対話の窓口」です。
登場人物メモ:
- ※1 シェル — コマンドを受け付け、実行してくれる対話の窓口(bash など)
- ※2 プロセス — 実行中のプログラム1つ分。メモリや権限をひとまとまりで持つ
- ※3 ファイルシステム — データを木の形に整理してしまう仕組み
プロセスとファイルシステム
Linuxが動くとき、中では2つの考え方が働いています。
- プロセス ※2 — プログラムを起動すると「実行中の1つ分」=プロセスになる。それぞれが独立した箱を持ち、カーネルが順番に走らせる
- すべてをファイルとして扱う — Linuxは、書類だけでなく、機器(キーボードやディスク)まで「ファイル」として同じように扱う思想を持つ
- ディレクトリの木 — ファイルは根(ルート
/)から枝分かれする 1本の木 に整理される。フォルダ(ディレクトリ)の中にフォルダ、という入れ子
「機器もファイル」という割り切りのおかげで、同じ道具(コマンド)で書類も機器も扱えます。これがLinuxの見通しのよさの正体です。
パーミッション — 誰が何をできるか
1本の木に全部を入れると、心配なのが「誰が触ってよいか」です。そこで各ファイルに パーミッション(許可)が付いています。
対象を3つに分けます。
- 所有者 — そのファイルを持つ本人
- グループ — 同じチームの人
- その他 — それ以外の全員
そのそれぞれに、読む(r)・書く(w)・実行(x) の可否を決めます。-rwxr-xr-- のような文字列が、その一覧表です。
アニメーション『パーミッション(誰が何をできるか)』を開く
設計の勘所
- 役割分担 — カーネルが管理・ユーザー空間が利用。境界を守るから安定する
- 最小限だけ許す — パーミッションは「必要な人に必要な分だけ」。むやみに全許可しない
- プロセスは隔離が基本 — それぞれ独立。1つが落ちても他へ波及しにくい
- 文字で操作できる強み — コマンドは記録・再実行しやすく、自動化に向く
⚠️ うまくいかないとき
- 権限エラー(Permission denied) — パーミッションが足りず、読めない・実行できない
- 全許可のやりすぎ — 面倒だからと誰でも書き込み可にすると、改ざんの入り口になる
- プロセスの暴走 — 1つのプロセスがメモリを食いつぶす。カーネルが監視・制限する
- 木の迷子 — ディレクトリの深い階層で、今どこにいるか分からなくなる
理解度チェック
そのまま解けます(成績は保存されません)。無料アカウントを作ると、学習の記録と進捗の山登りが始まります。
問1. Linuxで「ハードウェアの管理役」と「アプリが動く場所」を正しく説明しているのは?
問2. パーミッション -rwxr-xr-- のうち「その他(r--)」が意味するのは?
問3. Linuxのシェル(bashなど)の役割として正しいのは?
問4. Linuxの「すべてをファイルとして扱う」という思想の説明として正しいのは?
問5. 「実行中のプログラム1つ分」で、メモリや権限をひとまとまりで持つものを何と呼ぶ?
問6. Linuxのパーミッションで、許可の対象を分ける3つの区分はどれ?
問7. コマンドを受け付けて実行してくれる対話の窓口(bashなど)を何と呼ぶか、カタカナで答えてください。
問8. Linuxのディレクトリの木で、根(いちばん上)を表す記号1文字を答えてください。