No.37 処理はすべてCPU処理である三つのジョブ A,B,C がある。
それらを単独で実行したときの処理時間は,ジョブAが5分,ジョブBが10分,ジョブCは15分である。
この三つのジョブを次のスケジューリング方式に基づいて同時に実行すると,ジョブBが終了するまでの経過時間はおよそ何分か。
〔スケジューリング方式〕一定時間(これをタイムクウォンタムと呼ぶ)内に処理が終了しなければ,処理を中断させて,待ち行列の最後尾へ回す。
待ち行列に並んだ順に実行する。
タイムクウォンタムは,ジョブの処理時間に比べて十分に小さい値とする。
ジョブの切替え時間は考慮しないものとする。
それらを単独で実行したときの処理時間は,ジョブAが5分,ジョブBが10分,ジョブCは15分である。
この三つのジョブを次のスケジューリング方式に基づいて同時に実行すると,ジョブBが終了するまでの経過時間はおよそ何分か。
〔スケジューリング方式〕一定時間(これをタイムクウォンタムと呼ぶ)内に処理が終了しなければ,処理を中断させて,待ち行列の最後尾へ回す。
待ち行列に並んだ順に実行する。
タイムクウォンタムは,ジョブの処理時間に比べて十分に小さい値とする。
ジョブの切替え時間は考慮しないものとする。
⭕️
❌
💾
🖊 | ☑️ |
⭕️ | [[ AnswerCalc[0] ]] % | A | [[ AnswerCalc[1] ]] |
〔スケジューリング方式〕の説明から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分ということになります。
💾
✔️
[[ d.CommentTxt ]] |
< | > |
🥇 |