「応用情報技術者試験/平成31年春季午前問16」ターンアラウンドタイム

問題

出典:応用情報技術者平成31年春季午前問16

五つのジョブA~Eに対して、
ジョブの多重度が1で、処理時間順方式のスケジューリングを適用した場合、
ジョブBのターンアラウンドタイムは何秒か。

ここで、OSのオーバヘッドは考慮しないものとする。

ア:8
イ:9
ウ:10
エ:11

用語解説

まず、用語解説

ジョブの多重度

同時実行ができる数のこと。
当問題では、1とあるので複数のジョブを同時に実行することはできない。
1のジョブが動いている時、他のジョブは動かない。

処理時間順方式のスケジューリング

処理時間が短いジョブを優先して起動する方式のこと。

実行できるジョブが仮に
A→処理時間10秒
B→処理時間2秒
とあるならば、Bが先に実行される、ということ。

ターンアラウンドタイム

到着してから、処理が終了するまでの時間のこと

解説

要するに今回の問題は「Bが到着してからすぐに実行される訳じゃなくて、処理時間順方式によって他のジョブに割り込まれたりするから、その辺を考慮してBがいつ終わるのかを計算してね」という問題である。

Bが到着するのは1秒時点である。それから何秒後にBの処理が終了するか?
Bの処理時間が4だからと言っても、そうはいかない。

何故なら最初に実行されるAの処理時間は2であり、Aの処理が終了した頃にはCが到着しているのである。

Bの処理時間は4であり、Cの処理時間は3である。
処理時間順方式に従うとCの方が処理時間が短いからCが先に実行されるのである。
多重度は1であるからBは待たなければいけない。

Cの処理時間は3であるから、Aと足すと5になる。となると全てのジョブが到着しているのである。
残るは、BとDとEである。
Bの処理時間:4
Dの処理時間:2
Eの処理時間:1
という事なので、Cの後に実行されるのはEであり、Eの後に実行されるのはDであり、最後にBが実行されるという結果になる。

全てのジョブの処理実行時間を足すと12であり、Bの到着時刻は1である。
つまりBが到着してから11の時間が経過してようやくBは処理を終了することができる。

よって答えは11のエ

解答

正解:エ

アドセンス
改行

テックキャンプ