修了試験 2012-12-16実施分 基本情報技術者試験 問21
処理は全てCPU処理である三つのジョブA,B,Cがある。 それらを単独で実行したときの処理時間は,ジョブAが5分,ジョブBが10分,ジョブCは15分である。 この三つのジョブを次のスケジューリング方式に基づいて同時に実行すると,ジョブBが終了するまでの経過時間はおよそ何分か。 〔スケジューリング方式〕 (1) 一定時間(これをタイムクウォンタムと呼ぶ)内に処理が終了しなければ,処理を中断させて,待ち行列の最後尾へ回す。 (2) 待ち行列に並んだ順に実行する。 (3) タイムクウォンタムは,ジョブの処理時間に比べて十分に小さい値とする。 (4) ジョブの切替え時間は考慮しないものとする。
正答3
解説
正解は3です。 このスケジューリング方式は、ラウンドロビン方式です。 タイムクウォンタムが十分に小さいので、実行中のジョブがCPUを均等に分け合うと考えられます。 ジョブが3つあれば、各ジョブは経過時間の3分の1ずつ処理が進みます。 【計算】 最初はA、B、Cの3つでCPUを分け合います。 Aは残り5分なので、5分×3=15分の経過で終了します。 この時点でB、Cもそれぞれ5分ずつ処理が進んでいます。 Bの残りは10-5=5分、Cの残りは15-5=10分です。 次はBとCの2つでCPUを分け合います。 Bの残り5分の処理には、5分×2=10分の経過が必要です。 したがってBの終了は15分+10分=25分後です。 【選択肢別解説】 1:× 15分はジョブAが終了する時点です。 このときBにはまだ5分の処理が残っています。 2:× 20分の時点では、Bの残り5分のうち2.5分しか進んでいません。 3:○ Aの終了までに15分、その後Bの残りを2つで分け合って10分かかり、合計25分でBが終了します。 4:× 30分は全ジョブの処理時間の合計で、最後のジョブCが終了する時点です。 【ポイント】 タイムクウォンタムが十分小さいラウンドロビンは、残っているジョブ数でCPU時間を均等に割ると考えます。 各ジョブの終了時刻は、短いジョブから順に区切って計算すると求めやすくなります。まとめて解く
修了試験 2012-12-16実施分を通しで解く(80問)→