時刻0にA、B、Cがこの順に実行待ちとなる。必要なCPU時間はAが5 ms、Bが3 ms、Cが1 msである。ラウンドロビン方式で各回最大2 ms実行し、未完了の処理は待ち行列の末尾へ戻す。切替時間、新規到着、入出力待ちはない。Bが完了する時刻は開始から何ms後か。
本サイトで独自に作成。IPAの試験問題からの転載ではありません。
公開日:
選択肢を選んで、答え合わせをしましょう。
回答せずに正解・解説を確認する
正解:エ 8 ms後
この表示だけでは、回答数や正答率は変わりません。
解説
0〜2 msでAを実行して残り3、2〜4 msでBを実行して残り1、4〜5 msでCが完了します。続いて5〜7 msでAを実行して残り1、7〜8 msでBが完了します。B自身のCPU時間3 msだけでなく、他の処理が使う時間も経過時間に含めます。
3 msはBに必要なCPU時間の合計で、待ち時間を含む完了時刻ではありません。
5 msの時点ではCが完了し、Bにはまだ1 ms残っています。
7 msの時点ではAの2回目の実行が終わり、これからBの残りを実行します。
A、B、C、A、Bの順で実行し、Bの最後の1 msが時刻8で終了します。
関連知識
ラウンドロビンでは、一定の時間幅を上限として待ち行列を巡回します。短い処理は時間幅を使い切らずに完了します。この例でBの待ち時間は完了時刻8 − 到着時刻0 − CPU時間3 = 5 msです。
間違えやすいポイント
Cが1 msで終了しても、残り1 msを同じCが使うとは考えません。また、この設問は切替時間を0としており、勝手に追加しないようにします。
覚え方
時間幅ごとに残量を減らし、未完了なら末尾へ。
実務での意味
処理の応答性を評価するとき、実行時間、待ち時間、完了までの経過時間を別々に測定します。
解説:本サイト編集部によるオリジナル文章