平成28年度秋期 応用情報技術者試験 午前 問19
タイムクウォンタムが2秒のラウンドロビン方式で処理されるタイムシェアリングシステムにおいて,プロセス1〜3が逐次生成されるとき,プロセス2が終了するのはプロセス2の生成時刻から何秒後か。ここで,各プロセスはCPU処理だけで構成され,OSのオーバヘッドは考慮しないものとする。また,新しいプロセスの生成と中断されたプロセスの再開が同時に生じた場合には,新しく生成されたプロセスを優先するものとする。

- ア 12
- イ 14
- ウ 16
- エ 17
解答・解説を見る
正解:イ
AI解説
正解はイの14秒。ラウンドロビン方式は、実行可能なプロセスを待ち行列(キュー)で管理し、タイムクウォンタム(ここでは2秒)ごとにCPUを切り替えて先頭のプロセスに割り当てる方式である。本問は、各プロセスの生成時刻と処理時間をもとに2秒刻みでキューの状態をシミュレーションし、「新しいプロセスの生成と中断プロセスの再開が同時なら新規生成を優先してキューに並べる」という条件を厳密に適用すると、プロセス2の終了はその生成時刻から14秒後になる。 ア: 12秒は誤り。プロセス3の生成による割込みや、プロセス2がキュー末尾に回って待たされる時間を考慮し忘れると、この値のように短く見積もってしまう。 イ: 正解。2秒ごとの切替えをキューの順序どおりに追跡すると、プロセス2は他プロセスの実行時間分の待ちを挟みながら処理され、生成時刻から14秒後に自身の処理を完了する。 ウ: 16秒は誤り。同時発生時に「再開プロセスを新規生成より優先」と条件を逆に適用してキュー順序を誤ると、このような値になる。 エ: 17秒は誤り。タイムクウォンタムは2秒であり、各プロセスの実行は2秒単位で切り替わるため、条件どおりに追跡すればこの値にはならない。 💡 ラウンドロビンの問題は、時刻を横軸にした表を書き、「実行中」「待ち行列の並び」を1クウォンタムごとに書き出すのが確実である。同時発生時の優先順位(新規生成か再開か)の指定は結果を左右するひっかけポイントなので必ず確認する。
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。