ソフトウェア
平成30年度 春期 基本情報技術者試験 午前 問16
三つのタスク A~C の優先度と,各タスクを単独で実行した場合の CPU と入出力(I/O)装置の動作順序と処理時間は,表のとおりである。A~C が同時に実行可能状態になって 3 ミリ秒経過後から 7 ミリ秒間のスケジューリングの状況を表したものはどれか。ここで,I/O は競合せず,OS のオーバヘッドは考慮しないものとする。また,表中の ( ) 内の数字は処理時間を表すものとし,解答群の中の“待ち”は,タスクが実行可能状態にあり,CPU の割当て待ちであることを示す。
表: | タスク | 優先度 | 単独実行時の動作順序と処理時間(ミリ秒)|
選択肢ア〜エは,横軸 3〜10(ミリ秒)のタイムチャート(タスク A,B,C の 3 行)。待ちは破線で表示。
| A | 高 | CPU(2) → I/O(2) → CPU(2) |
|---|---|---|
| B | 中 | CPU(3) → I/O(5) → CPU(2) |
| C | 低 | CPU(2) → I/O(2) → CPU(3) |
- ア [図] 3〜10 ミリ秒のタイムチャート。タスク A: CPU(3-5)→I/O(5-7)→CPU(7-9)→完了(9)。タスク B: I/O(3-8)→待ち(8-9)→CPU(9-10)。タスク C: 待ち(3-5)→CPU(5-7)→I/O(7-9)→待ち(9-10)。
- イ [図] 3〜10 ミリ秒のタイムチャート。タスク A: CPU(3-4)→I/O(4-6)→CPU(6-8)→完了(8)。タスク B: I/O(3-8)→CPU(8-10)。タスク C: 待ち(3-4)→CPU(4-6)→I/O(6-8)→待ち(8-10)。
- ウ [図] 3〜10 ミリ秒のタイムチャート。タスク A: I/O(3-4)→CPU(4-6)→完了(6)。タスク B: CPU(3-4)→待ち(4-6)→CPU(6-7)→I/O(7-10)。タスク C: 待ち(3-7)→CPU(7-9)→I/O(9-10)。
- エ [図] 3〜10 ミリ秒のタイムチャート。タスク A: I/O(3-4)→待ち(4-7)→CPU(7-9)→完了(9)。タスク B: CPU(3-5)→I/O(5-10)。タスク C: 待ち(3-5)→CPU(5-7)→I/O(7-9)→CPU(9-10)。
出典:平成30年度 春期 基本情報技術者試験 午前 問16
答えと解説を見る
正解:ウ
覚える知識
優先度方式タスクスケジューリングのCPU遊休時間
優先度方式では実行可能なタスクのうち最優先のものにCPUが割り当てられ、高優先タスクの復帰時には低優先タスクが中断される。
この問題で必要なこと
最優先のAがCPU/I/Oを交互に使い、Aが戻れば低優先のタスクからCPUを奪う。0〜3msの状況を追って、3ms以降はAがI/O(3-4)→CPU(4-6)、BがCPU(3-4)→待ち→CPU(6-7)→I/O(7-)、Cは7msから実行。
ひっかけ
I/Oは競合しない点、CPU待ちと実行を取り違える。
この知識の出題:本試験系 1 回・免除試験 1 回(公開問題での観測値)