基本情報技術者試験 - 令和5年12月修了 - 問13
処理は全てCPU処理である三つのジョブA,B,Cがある。それらを単独で実行したときの処理時間は,ジョブAは5分,ジョブBは10分,ジョブCは15分である。この三つのジョブを次のスケジューリング方式に基づいて同時に開始すると,ジョブBが終了するまでの経過時間はおよそ何分か。
〔スケジューリング方式〕
(1)一定時間(これをタイムクウォンタムと呼ぶ)内に処理が終了しなければ,処理を中断させて,待ち行列の最後尾へ回す。
(2)待ち行列に並んだ順に実行する。
(3)タイムクウォンタムは,ジョブの処理時間に比べて十分に小さい値とする。
(4)ジョブの切替え時間は考慮しないものとする。
〔スケジューリング方式〕
(1)一定時間(これをタイムクウォンタムと呼ぶ)内に処理が終了しなければ,処理を中断させて,待ち行列の最後尾へ回す。
(2)待ち行列に並んだ順に実行する。
(3)タイムクウォンタムは,ジョブの処理時間に比べて十分に小さい値とする。
(4)ジョブの切替え時間は考慮しないものとする。
| ア | 15 |
|---|---|
| イ | 20 |
| ウ | 25 |
| エ | 30 |
答え : ウ
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › オペレーティングシステム
解説 :
この問題は,ラウンドロビンスケジューリングという方式で,3つのジョブA,B,Cを処理する場合に,ジョブBが終了するまでの経過時間を求めるものです。
ラウンドロビンでは,各ジョブに一定時間(タイムクウォンタム)ずつ処理を割り当て,時間内に終わらなければ待ち行列の最後に回すという処理を繰り返します。タイムクウォンタムが十分に小さいと仮定すると,実質的には3つのジョブがほぼ同時に少しずつ並行して進んでいくとみなすことができます。
ジョブAは単独では5分かかる処理ですが,3つのジョブに処理時間がほぼ均等に分配されるため,Aが終了するまでにかかる経過時間は,Aの処理時間5分の3倍,つまりおよそ15分と考えられます。Aが終了した後は,残りのジョブBとCの2つで処理時間が分配されるようになります。
Bは単独で10分かかる処理ですが,すでに5分相当の処理が終わっている(Aと並行して進んでいた分)ため,残り5分相当の処理が必要です。この残り5分の処理を,BとCの2つで分け合うため,Aが終わってからさらに5分の2倍,つまり10分がかかります。したがって,Bが終了するまでの経過時間は,Aが終わるまでの15分に,その後の10分を加えて,合計25分となり,正解は「ウ」です。
分野 : テクノロジ系 › コンピュータシステム › ソフトウェア › オペレーティングシステム
解説 :
この問題は,ラウンドロビンスケジューリングという方式で,3つのジョブA,B,Cを処理する場合に,ジョブBが終了するまでの経過時間を求めるものです。
ラウンドロビンでは,各ジョブに一定時間(タイムクウォンタム)ずつ処理を割り当て,時間内に終わらなければ待ち行列の最後に回すという処理を繰り返します。タイムクウォンタムが十分に小さいと仮定すると,実質的には3つのジョブがほぼ同時に少しずつ並行して進んでいくとみなすことができます。
ジョブAは単独では5分かかる処理ですが,3つのジョブに処理時間がほぼ均等に分配されるため,Aが終了するまでにかかる経過時間は,Aの処理時間5分の3倍,つまりおよそ15分と考えられます。Aが終了した後は,残りのジョブBとCの2つで処理時間が分配されるようになります。
Bは単独で10分かかる処理ですが,すでに5分相当の処理が終わっている(Aと並行して進んでいた分)ため,残り5分相当の処理が必要です。この残り5分の処理を,BとCの2つで分け合うため,Aが終わってからさらに5分の2倍,つまり10分がかかります。したがって,Bが終了するまでの経過時間は,Aが終わるまでの15分に,その後の10分を加えて,合計25分となり,正解は「ウ」です。