ふくふくHukuhuku Inc.
EP.06CS Basics対象: 中2以上 10分公開: 2026-05-10

OS の役割:プロセス・メモリ管理・ファイルシステム

Windows / macOS / Linux の OS は、複数のアプリが同時に動くように資源を分け合う仕組みを提供している。プロセス・スレッド・仮想メモリ・ファイルシステム・カーネルとユーザー空間の話。

#OS#プロセス#カーネル#Linux
シェア

OS (オペレーティングシステム) は、ハードウェアとアプリの間に立つ「仲介役」。複数のアプリが 1 つの CPU・メモリ・ディスクを 公平に共有 できるように調整します。

1. OS の主要 4 機能

  • プロセス管理: 複数のアプリを並行実行、CPU 時間の割振り
  • メモリ管理: 各プロセスにメモリを配分、仮想メモリの実現
  • ファイルシステム: ディスク上のデータを「ファイル / フォルダ」として扱う
  • デバイスドライバ: マウス・キーボード・ネットワーク・USB などを統一インターフェイスで提供

2. プロセスとスレッド

項目プロセススレッド
メモリ空間独立 (各プロセス専用)共有 (同じプロセス内)
生成コスト重い (数 ms)軽い (数 μs)
通信プロセス間通信 (IPC) 必要メモリ共有で直接やりとり
競合リスク低い (隔離されている)高い (同じメモリを書く)
Chrome のタブ、開いてるアプリChrome 内部の描画・通信

3. プロセスの状態

  • Running: CPU で実行中
  • Ready: CPU 待ち
  • Blocked / Waiting: I/O (ディスク・ネットワーク) 待ち
  • Sleeping: 一定時間休止
  • Terminated: 終了済み (まだリソース解放前)

4. 仮想メモリの仕組み

OS は 「各プロセスは自分専用に大きなメモリ空間を持っている」 と見せかける。実際は物理メモリの一部を割り当てているだけで、足りなければ SSD に逃がす (スワップ)。

  1. 1仮想アドレス: プロセスから見えるアドレス (4GB 〜 数 TB)
  2. 2ページテーブル: 仮想アドレス → 物理アドレスの対応表
  3. 3MMU (CPU の機能): ページテーブルを使ってアドレス変換
  4. 4ページフォルト: 必要なページが物理メモリに無い → SSD から読込み
  5. 5スワップ: 物理メモリ不足時に古いページを SSD に逃がす

5. カーネル空間とユーザー空間

  • カーネル空間: OS の核 (デバイスアクセス・メモリ管理) が動く特権領域
  • ユーザー空間: 一般アプリが動く制限領域
  • システムコール: ユーザーアプリがファイルを読む等、特権操作を OS に依頼する仕組み
  • この分離が無いと: アプリが他のアプリのメモリを破壊できる、OS そのものを書き換えられる、等の事故が起きる

6. ファイルシステム

FSOS特徴
NTFSWindows大ファイル対応、ジャーナリング
APFSmacOS / iOSSSD 最適化、スナップショット
ext4Linuxデフォルト、安定
Btrfs / ZFSLinux / FreeBSDスナップショット・圧縮
FAT32 / exFATUSB メモリ等互換性最強だが上限あり

7. 次の話

EP.07 では ネットワーク へ。複数のコンピュータが繋がる仕組み (IP / TCP / HTTP / DNS) を扱います。

シェア

この記事の感想を教えてください

あなたの 1 クリックで、本当にこの記事は更新されます。「もっと詳しく」「続編希望」が一定数集まった記事は、 ふくふくが 実際に内容を拡充したり続編記事を公開 します。 送信したリアクションはお使いのブラウザに記録され、再カウントされません。

シリーズの外も探す:

まずは、現状を聞かせてください。

要件が固まっていなくて大丈夫です。現状診断と方針提案までを無料でお手伝いします。

無料相談フォームへ hello [at] hukuhuku [dot] co [dot] jp