ソフトウェア

基本情報技術者試験ラウンドロビン」の問題

テクノロジ系ソフトウェア計算問題難易度:hard
3つのタスクP1・P2・P3が時刻0にこの順で実行可能列に並ぶ。処理時間はP1=5・P2=3・P3=7で、タイムクウォンタム3のラウンドロビン方式で実行する。タスクが完了する順序はどれか。
P1→P2→P3
P2→P1→P3の順で終わる
P3→P2→P1
P2→P3→P1の順
正解
P2→P1→P3の順で終わる

量子3で実行すると、P1が3実行し残2で末尾へ、P2が3実行し完了、P3が3実行し残4で末尾へ、P1が残2を実行し完了、P3が3実行し残1で末尾へ、P3が残1を実行し完了。完了順はP2→P1→P3となり正しい。

?選択肢ごとの解説

ア ×P1→P2→P3は到着順そのままだが、ラウンドロビンでは1回の量子で終わらないP1が末尾へ回されP2が先に完了するため実際の完了順と異なる。
イ ○量子3で実行すると、P1が3実行し残2で末尾へ、P2が3実行し完了、P3が3実行し残4で末尾へ、P1が残2を実行し完了、P3が3実行し残1で末尾へ、P3が残1を実行し完了。完了順はP2→P1→P3となり正しい。
ウ ×P3→P2→P1はSJFの逆(処理時間の長い順)に近い誤った想定であり、ラウンドロビンの巡回実行を反映していない。
エ ×P2→P3→P1はP2完了までは正しいが、その後P3よりP1が先に完了する点を取り違えた誤りである。

くわしく

ラウンドロビンは各タスクに固定の量子を順番に割り当て、使い切れば末尾へ回す。短いタスクは早く完了し、長いタスクは複数巡回を要する。量子を区切って残り時間を追跡し、列の末尾への再投入を正確に追うのが要点である。

本番での押さえどころ

試験のコツ

タスクごとに残り時間を表にし、量子分を引いて0になれば完了、残れば列末尾へ、と1ステップずつ追う。

覚え方

ラウンドロビンは『順番に少しずつ回す回転寿司』。一巡で取りきれなければまた後ろに並ぶ、とイメージする。

よくある誤り

末尾への再投入を忘れて到着順のまま完了すると考える、または量子の境界で残り時間の更新を誤る錯誤が多い。

ソフトウェアの他の問題

この問題を、AIの8-ways解説つきで。

基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。

無料ではじめる →

ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0209

【基本情報技術者試験】ラウンドロビンの問題 — 解答・解説|ukamiru 過去問