平成22年度 秋期 応用情報技術者試験 午前 問18
五つのタスク A~E の優先度と,各タスクを単独で実行した場合の CPU と入出力装置(I/O)の動作順序と処理時間は,表のとおりである。優先度“高”のタスク A と B~E のどのタスクを組み合わせれば,組み合わせたタスクが同時に実行を開始してから,両方のタスクの実行が終了するまでの間の CPU の遊休時間をゼロにできるか。ここで,I/O は競合せず,OS のオーバヘッドは無視できるものとする。また,表の( )内の数字は処理時間を表すものとする。
| タスク | 優先度 | 単独実行時の動作順序と処理時間(ミリ秒) | |
|---|---|---|---|
| A | 高 | CPU(3)→I/O(3)→CPU(3)→I/O(3)→CPU(2) | |
| ア | B | 低 | CPU(2)→I/O(5)→CPU(2)→I/O(2)→CPU(3) |
| イ | C | 低 | CPU(3)→I/O(2)→CPU(2)→I/O(3)→CPU(2) |
| ウ | D | 低 | CPU(3)→I/O(2)→CPU(3)→I/O(1)→CPU(4) |
| エ | E | 低 | CPU(3)→I/O(4)→CPU(2)→I/O(5)→CPU(2) |
キーボード:1〜4 で解答 → 次の問題 ← 前の問題
正解と解説を見る
解答する前に解説を開いたので、この問題は「見て解いた」として記録します(正解数には入りません)。
正解:ウ
優先度の高いタスク A が CPU を使う時間帯は 0~3,6~9,12~14 ミリ秒で,3~6 と 9~12 ミリ秒は A が I/O 中のため CPU が空きます。低優先度のタスクがこの空き時間をすべて埋め,さらに 14 ミリ秒以降も途切れずに CPU を使い続ければ,遊休時間はゼロになります。
-
ア: B
誤り。B の CPU(2) は 3~5 で終わり,次は I/O(5) に入るため,5~6 の CPU が遊休になります。 -
イ: C
誤り。C は CPU(3) を 3~6,I/O(2) を 6~8 で行い,次の CPU(2) を 9~11 で実行した後 I/O(3) に入るため,11~12 の CPU が遊休になります。 -
ウ: D
正しい。D は CPU(3) を 3~6,I/O(2) を 6~8,CPU(3) を 9~12,I/O(1) を 12~13 で行い,A の終了後 CPU(4) を 14~18 で実行します。CPU は 0~18 の間,A と D が交互に使い続け,遊休時間はゼロになります。 -
エ: E
誤り。E は CPU(3) を 3~6 で実行した後 I/O(4) が 6~10 まで続くため,A が I/O に入る 9~10 の CPU が遊休になります。
答え
ウ: D
出典:平成22年度 秋期 応用情報技術者試験 午前 問18