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