OSの話になると、
「プロセス」と「スレッド」という言葉が出てきます。
応用情報技術者試験では、
この2つの違いを定義として覚えているかではなく、
なぜ分けて考える必要があるのかを理解しているかが問われます。
この回では、
プロセスとスレッドを分ける理由を、
応用情報視点で整理します。
プロセスとは何か
プロセスは、
実行中のプログラムを独立した単位として扱う仕組みです。
- メモリ空間を分離する
- 他の処理から影響を受けにくくする
- 異常終了しても被害を限定する
応用情報では、
この「独立性」が重要な意味を持ちます。
スレッドとは何か
スレッドは、
1つのプロセスの中で並行して動く処理の単位です。
- メモリを共有できる
- 切り替えコストが小さい
- 協調動作がしやすい
その代わり、
1つのスレッドの不具合が
プロセス全体に影響を与えます。
なぜ分ける必要があるのか
プロセスとスレッドを分ける理由は、
影響範囲を制御するためです。
- 安定性を優先するならプロセス
- 効率を優先するならスレッド
というように、
目的に応じて選択肢を持てることが重要です。
応用情報では、
この判断の前提を理解しているかが問われます。
応用情報での典型的な出題意図
午後問題では、
- 1つの処理の異常が
全体に波及する - 資源の共有によって
競合が起きる
といった状況が描かれます。
ここで、
プロセスかスレッドか、
どちらの単位で分離すべきかを
考えさせる構造になっています。
実務での考え方
実務では、
- 障害時の影響範囲
- 性能と切り替えコスト
- 実装や運用のしやすさ
といった観点で選択します。
応用情報は、
その判断を感覚ではなく
構造として理解する訓練です。
まとめ
- プロセスは独立性を守る
- スレッドは効率を高める
- 応用情報は影響範囲の判断を問う
OSの問題では、
「どこまで影響を許容するか」
を意識することが重要です。
次回予告
次回は、
「同時処理と並列処理は何が違うのか」
を扱います。
処理方式の話に進みます。


コメント