平成30年 秋期 応用情報技術者 午前 問16

処理はすべてCPU処理である三つのジョブA、B、Cがある。
それらを単独で実行したときの処理時間は、ジョブAが5分、ジョブBが10分、ジョブCが15分である。
この三つのジョブを次のスケジューリング方式に基づいて同時に開始すると、ジョブBが終了するまでの経過時間はおよそ何分か。

[スケジューリング方式]
(1)  一定時間(これをタイムクウォンタムと呼ぶ)内に処理が終了しなければ、処理を中断させて、待ち行列の最後尾へ回す。
(2)  待ち行列並んだ順に実行する。
(3)  タイムクウォンタムは、ジョブの処理時間に比べ十分小さい値とする。
(4)  ジョブの切替え時間は考慮しないものとする。

 ア  15  イ  20  ウ  25  エ  30


答え ウ


解説
問題のスケジューリンク方式は短い時間(タイムクウォンタム)で実行するジョブを切替えながら行うので、処理が開始されてから最も処理時間の短いジョブAが終了するまではジョブA、ジョブB、ジョブCが同じ時間実行されるので、ジョブAが終了するまでにかかる時間は約15分(=5分×3ジョブ)である。 …(a)
このとき、ジョブB、ジョブCも5分実行している。(ジョブBは残り5分、ジョブCは残り10分で終了。)
ジョブAの終了後は、ジョブBとジョブCが交互に実行され、ジョブBが終了するまでにかかる時間は10分(=5分×2ジョブ)である。 …(b)
したがって、(a)(b)からジョブBが終了するまでの経過時間は、
 (a)+(b)=25分
(ウ)である。


キーワード
・スケジューリング

キーワードの解説
  • スケジューリング
    マルチジョブ(マルチタスク、マルチプロセス)環境で、各ジョブ(タスク、プロセス)の切替えを制御する方法である。(問題に合わせて言い換えると、各ジョブにCPU資源を割り当てる制御の方法である。)
    ジョブの切替えを行う操作はディスパッチと呼ばれる。
    スケジューリングの目的は、特定のジョブがCPU資源を独占したり、CPU資源が割り当てられないジョブが発生しないようにすることを目的としています。

もっと、「スケジューリング」について調べてみよう。

戻る 一覧へ 次へ