OS概要
所要時間: 20分
はじめに
「OS(オペレーティングシステム)」という言葉はよく聞きますが、実際に何をしているのでしょうか?
このドキュメントでは、OSの基本的な役割と構造を理解します。
1. OSの役割
OSがないとどうなるか
┌─────────────────────────────────────────────────────────────────────┐
│ OSがない世界 │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ アプリケーションが直接ハードウェアを制御 │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ App A │ │ App B │ │ App C │ │
│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │ │
│ ↓ ↓ ↓ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ ハードウェア │ │
│ │ CPU メモリ ディスク ネットワーク │ │
│ └─────────────────────────────────────────────────────────────┘ │
│ │
│ 問題: │
│ ❌ 各アプリがハードウェアの詳細を知る必要がある │
│ ❌ アプリ同士がリソースを奪い合う │
│ ❌ あるアプリのバグが全体をクラッシュさせる │
│ ❌ セキュリティ境界がない │
│ │
└─────────────────────────────────────────────────────────────────────┘
OSがある世界
┌─────────────────────────────────────────────────────────────────────┐
│ OSがある世界 │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ App A │ │ App B │ │ App C │ │
│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │ │
│ └────────────────┬┴─────────────────┘ │
│ ↓ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ オペレーティングシステム │ │
│ │ ・リソース管理(CPU、メモリ、ディスク) │ │
│ │ ・プロセス管理 │ │
│ │ ・ファイルシステム │ │
│ │ ・ネットワーク │ │
│ │ ・セキュリティ │ │
│ └──────────────────────────┬──────────────────────────────────┘ │
│ ↓ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ ハードウェア │ │
│ └─────────────────────────────────────────────────────────────┘ │
│ │
│ 利点: │
│ ✅ アプリはハードウェアの詳細を知らなくてよい │
│ ✅ リソースを公平に分配 │
│ ✅ アプリ同士を隔離 │
│ ✅ セキュリティ境界を提供 │
│ │
└─────────────────────────────────────────────────────────────────────┘