本文へスキップ

平成22年度 春期 ITパスポート試験 問76

この問題の解説と、これまでの解答の記録です。

問76
頻出度★☆☆

OS が, ジョブを到着順に, 前のジョブが終わってから次のジョブを処理する場合について考える。ジョブの到着時刻と処理時間が表のとおりであるとき, ジョブ 4 は, 到着してからその処理が終了するまでに何秒を要するか。ここで, 四つのジョブ以外の処理に要する時間は無視できるものとする。表の到着時刻は, ジョブ 1 が到着した時刻を開始時刻とする。

到着時刻処理時間
ジョブ10秒後3秒
ジョブ24秒後4秒
ジョブ35秒後3秒
ジョブ47秒後5秒
出典 平成22年度 春期 ITパスポート試験 問76
解説

問 76ターンアラウンドタイム = 待ち時間 + 処理時間

  • 不正解ア

    5 はジョブ4 の処理時間そのもの。設問が問うのは「到着してから処理が終了するまで」の時間 (ターンアラウンドタイム) であり, 到着後に前のジョブを待つ 4 秒を数えていない。

  • 不正解イ

    8 は 3〜4 秒の空き時間を見落とし, ジョブ2 がジョブ1 終了直後の 3 秒後から始まると誤った場合の値 (ジョブ2 が 3〜7, ジョブ3 が 7〜10, ジョブ4 が 10〜15 で 15−7=8)。ジョブ2 は 4 秒後にならないと到着しないので, 3 秒後には開始できない。

  • ウ

    正解 到着順 (先着順) に, 前のジョブが終わってから次を処理するので, 実行の時系列は次のようになる。ジョブ1 は到着 0 秒後にすぐ開始し 0〜3 秒。ジョブ2 は到着が 4 秒後なので, CPU が空いた 3 秒後からではなく 4 秒後に開始し 4〜8 秒 (3〜4 秒は待機ジョブが無く空き時間)。ジョブ3 は 5 秒後に到着済みだがジョブ2 の終了を待ち 8〜11 秒。ジョブ4 は 7 秒後に到着済みだがジョブ3 の終了を待ち 11〜16 秒。したがってジョブ4 は到着 (7 秒後) から終了 (16 秒後) までに 16−7=9 秒を要する。これは待ち時間 4 秒 (ジョブ2 の残り 1 秒 + ジョブ3 の 3 秒) と自分の処理時間 5 秒の合計とみても同じである。よって正解は ウ。

  • 不正解エ

    12 はジョブ4 の待ち時間をジョブ2 とジョブ3 の処理時間の合計 4+3=7 秒とみなし, 7+5=12 と計算した誤り。ジョブ4 が到着する 7 秒後の時点でジョブ2 はすでに 3 秒間実行済みなので, 実際に待つのはジョブ2 の残り 1 秒とジョブ3 の 3 秒の計 4 秒である。

ここがポイント
  • ターンアラウンドタイム = 待ち時間 + 処理時間。到着した瞬間から処理が終わるまでの経過時間であり, 処理時間だけではない。
  • 到着順 (FCFS) の非プリエンプティブ処理では, ジョブがまだ到着していなければ CPU が空いていても実行できず空き時間が生じる。時系列 (タイムチャート) を書いて各ジョブの開始・終了時刻を順に確定するのが確実。
用語

解答の記録