← チャプター一覧
第10章 · OSとプロセスの仕組み
🧠 OSはどうやって複数アプリを動かす?
ブラウザで音楽を聴きながらWordを書いて、Slackの通知も来る。コンピュータのCPUは基本1つなのに、どうして同時に動いてるの?OS(オペレーティングシステム)の魔法を解き明かそう!✨
今動いているプロセス
💡 CPUは超高速で切り替えながら各プロセスを少しずつ実行している。人間には「同時」に見えるが、実は交互!
第10章 · Step 1/4
⏰ Step 1:CPUスケジューリング
OSのスケジューラがCPUの使用時間を各プロセスに割り当てる。一般的な方式はラウンドロビン(順番に一定時間ずつ)。体験してみよう!
CPUタイムライン(各マスが1タイムスライス)
第10章 · Step 2/4
🗺️ Step 2:仮想メモリ — 「自分専用」のメモリ
各プロセスは仮想アドレス空間という「自分専用のメモリ」を持っているように見える。実際はOSが物理メモリに変換してくれている!プロセスは他のプロセスのメモリを見られない。
🎵 Music Player
仮想アドレス空間
0x0000 コード
0x1000 スタック
0x2000 ヒープ
--- (未使用)
⟶
MMU変換
💾 物理メモリ(RAM)
0x4000 Music Code
0x5000 Chrome Code
0x6000 Music Stack
0x7000 Word Code
0x8000 Music Heap
⟵
MMU変換
🌐 Chrome
仮想アドレス空間
0x0000 コード
0x1000 スタック
0x2000 ヒープ
--- (未使用)
💡 MMU(Memory Management Unit)がCPU内で仮想→物理アドレス変換を高速で行う。
プロセスが他のプロセスのメモリにアクセスしようとするとセグメンテーション違反でクラッシュ!
第10章 · Step 3/4
📞 Step 3:システムコール — OSへのお願い
プロセスはハードウェアに直接触れない。システムコールでOSに「お願い」して間接的に操作する。これがOSがすべてを管理できる仕組み!
🎵 Music Player(ユーザーモード)
↓ システムコール発行
↓ カーネルモードに切り替わる
🧠 OS カーネル(特権モード)— ハードウェアを管理
👆 上のシステムコールをクリックすると詳細が表示されます!
第10章 · クイズ
📝 理解度チェック!
Q1. OSが複数プロセスをCPUに割り当てる仕組みを何という? 🤔
コンパイル
スケジューリング
ルーティング
サンプリング
Q2. 各プロセスが「自分専用のメモリがある」ように見せる仕組みは? 💡
🎉
第10章クリア!
OSがどうやって複数のアプリを
うまく管理しているかを学んだ!
📚 今日学んだこと
- OSのスケジューラがCPU時間を分配する
- ラウンドロビンで順番に少しずつ実行
- 仮想メモリで各プロセスを完全に独立させる
- MMUが仮想→物理アドレスを変換する
- システムコールでOSにハードウェア操作を依頼