ガイドFE
プロセススケジューリングとデッドロックの4大条件完全攻略|OS制御徹底解説
公開: 2026-08-25更新: 2026-08-26
基本情報技術者試験で頻出のOSプロセス制御(ラウンドロビン、優先度順、ターンアラウンド時間)とデッドロック発生の4大条件を徹底解説。
OSが複数プロセスをCPUに割り当てる「プロセススケジューリング」とシステム停止を招く「デッドロック」を整理します。
1. 代表的なプロセススケジューリング方式
方式名 | 仕組みと特徴 | 注意点・用語 |
|---|---|---|
ラウンドロビン方式 | 各プロセスに一定のCPU割当時間(タイムクウォンタム)を順番に与え、終了しなければキューの末尾に回す。 | タイムシェアリングシステム(TSS)で標準。クウォンタムが短すぎるとオーバーヘッド増大。 |
優先度順方式 | プロセスに静的・動的な優先度を設定し、最も優先度の高いものから実行する。 | 低優先度プロセスがいつまでも実行されない「スタベーション(飢餓)」にエージングで対処。 |
到着順(FCFS)方式 | 準備完了キューに到着した順序で最後までCPUを占有させる方式。 | 非プリエンプティブ方式。長い処理が先に来ると待ち時間が長大化。 |
2. デッドロック(Deadlock)発生の4条件
2つ以上のプロセスが互いに相手の確保している資源の解放を待ち続け、永久に進まなくなる状態です。以下の4条件がすべて同時に揃ったときにのみ発生します(1つでも崩せば防止可能)。
- ① 相互排除(Mutual Exclusion): 資源を一度に1つのプロセスしか排他的に使用できない。
- ② 占有保持(Hold and Wait): 資源を確保したまま、別の資源を要求して待機できる。
- ③ 非横取り(No Preemption): 他プロセスが確保中の資源を強制的に奪い取ることができない。
- ④ 循環待機(Circular Wait): 複数プロセスが円環状に互いの資源を待ち合っている。
この記事に関連する教科書用語
編集・検証について
編集・検証:IT資格ラボ編集部
IPAが公開する試験要綱・シラバス・過去問題と、各技術の公式資料を優先して内容を確認しています。制度変更や誤りを確認した場合は、記事を見直して更新します。
編集方針・情報源・訂正方針を見る