平成28年度 秋期 午前 問19
ソフトウェア
タイムクウォンタムに関する問題
タイムクウォンタムが 2 秒のラウンドロビン方式で処理されるタイムシェアリングシステムにおいて,プロセス 1〜3 が逐次生成されるとき,プロセス 2 が終了するのはプロセス 2 の生成時刻から何秒後か。ここで,各プロセスは CPU 処理だけで構成され,OS のオーバヘッドは考慮しないものとする。また,新しいプロセスの生成と中断されたプロセスの再開が同時に生じた場合には,新しく生成されたプロセスを優先するものとする。
〔表:プロセスの生成時刻と処理時間〕
| プロセス | 生成時刻 | 単独で処理された場合の時間 |
|---|---|---|
| 1 | 0 秒後 | 5 秒 |
| 2 | 3 秒後 | 7 秒 |
| 3 | 6 秒後 | 5 秒 |
- ア12
- イ14
- ウ16
- エ17
答えと解説を見る
✓ これが正解イ14
解説
時刻17に終わり、生成時刻の3を引いて14秒後です。
ラウンドロビン方式の設問は、時間割と待ち行列の中身を必ず紙に書き出します。頭の中で回すと、割り込む順をどこかで取り違えます。2 秒ずつ区切って追います。0 から 2 は最初のプロセスが動き、残りは 3 秒です。2 から 4 も同じプロセスが動いて残りは 1 秒となり、この間の 3 秒の時点で二つ目のプロセスが生成されて列に並びます。4 から 6 は二つ目が動いて残り 5 秒、4 秒の時点で最初のプロセスが中断されて列の末尾へ回ります。6 秒で三つ目が生成され、ちょうど二つ目の中断と重なりますが、新しく生成された側を優先するという断りがあるので、列は最初、三つ目、二つ目の順になります。6 から 7 で最初のプロセスが残り 1 秒を使って完了し、7 から 9 で三つ目が残り 3 秒、9 から 11 で二つ目が残り 3 秒、11 から 13 で三つ目が残り 1 秒、13 から 15 で二つ目が残り 1 秒、15 から 16 で三つ目が完了、16 から 17 で二つ目が完了します。問われているのは二つ目の生成時刻から数えた長さなので、17 から 3 を引いて 14 秒後です。
ほかの選択肢はなぜ違うのか
- ア12:順番待ちで止まっていた時間を数え落とした場合に出る値です。単独なら 7 秒で済む処理でも、他の二つと交代しながら進むため、実際には割り込まれて待つ区間がその分だけ加わります。
- ウ16:三つ目のプロセスが終わる時刻を読んでしまった場合の値です。最後の 2 秒の区間では三つ目が先に片づき、そのあとにもう一区間が残っているので、問われている側の完了はさらに後になります。
- エ17:完了した時刻をそのまま答えた場合の値です。この設問が聞いているのは生成された瞬間から数えた長さなので、生成が 3 秒の時点であることを踏まえ、最後にその 3 を引く必要があります。
出典:平成28年度 秋期 応用情報技術者試験 午前 問19
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)