オペレーティングシステム (全106問中71問目)
No.71
処理はすべてCPU処理である三つのジョブ A,B,C がある。それらを単独で実行したときの処理時間は,ジョブAが5分,ジョブBが10分,ジョブCは15分である。この三つのジョブを次のスケジューリング方式に基づいて同時に実行すると,ジョブBが終了するまでの経過時間はおよそ何分か。
〔スケジューリング方式〕
〔スケジューリング方式〕
- 一定時間(これをタイムクウォンタムと呼ぶ)内に処理が終了しなければ,処理を中断させて,待ち行列の最後尾へ回す。
- 待ち行列に並んだ順に実行する。
- タイムクウォンタムは,ジョブの処理時間に比べて十分に小さい値とする。
- ジョブの切替え時間は考慮しないものとする。
出典:平成20年秋期 問32
- 15
- 20
- 25
- 30
- [出題歴]
- 応用情報技術者 H30秋期 問16
分類
テクノロジ系 » ソフトウェア » オペレーティングシステム
正解
ウ
解説
〔スケジューリング方式〕の説明から3つのジョブは同時並行的に実行されていくことがわかります。
処理時間が5分と最も短いジョブAが完了したときは、ジョブBおよびジョブCも全体のうち5分間の処理が完了していることになり、開始からこの時点までの経過時間は3ジョブ×5分で15分となります。
さらにジョブA完了後は、残りの2ジョブでCPU時間を使うことになります。先程と同様にジョブBの残り5分の処理が実行される間に同時にジョブCも5分間の処理が実行されているので、ジョブA完了後からジョブB完了までの経過時間は2ジョブ×5分=10分となります。
以上のことから開始からジョブB完了までに要する時間は25分ということになります。
処理時間が5分と最も短いジョブAが完了したときは、ジョブBおよびジョブCも全体のうち5分間の処理が完了していることになり、開始からこの時点までの経過時間は3ジョブ×5分で15分となります。
さらにジョブA完了後は、残りの2ジョブでCPU時間を使うことになります。先程と同様にジョブBの残り5分の処理が実行される間に同時にジョブCも5分間の処理が実行されているので、ジョブA完了後からジョブB完了までの経過時間は2ジョブ×5分=10分となります。
以上のことから開始からジョブB完了までに要する時間は25分ということになります。