ソフトウェア
基本情報技術者試験 科目A免除 修了試験 20180128 実施分 問16
二つのタスクの優先度と各タスクを単独で実行した場合の CPU と入出力装置(I/O)の動作順序と処理時間は,表のとおりである。二つのタスクが同時に実行可能状態になってから,全てのタスクの実行が終了するまでの経過時間は何ミリ秒か。ここで,CPU は 1 個であり,I/O の同時動作はできないものとし,OS のオーバヘッドは考慮しないものとする。また,表の( )内の数字は処理時間を示すものとする。
| 優先度 | 単独実行時の動作順序と処理時間(ミリ秒) |
|---|---|
| 高 | CPU(2) → I/O(7) → CPU(3) → I/O(4) → CPU(3) |
| 低 | CPU(2) → I/O(3) → CPU(2) → I/O(2) → CPU(3) |
答えを選ぶ
出典:基本情報技術者試験 科目A免除 修了試験 20180128 実施分 問16(問題文は IPA の公開問題。解説は当サイト作成)
答えと解説を見る
正解:エ
覚える知識
CPUとI/O競合下のタスク実行時間計算
優先度方式では、競合する資源を高優先タスクが先に使い、低優先タスクはその空きを使って並行実行する。
この問題で必要なこと
高優先タスクを優先してCPUとI/Oを割り当ててシミュレーションする。高は0〜2 CPU、2〜9 I/O、9〜12 CPU、12〜16 I/O、16〜19 CPU。低はCPU 2〜4の後、I/O 9〜12、CPU 12〜14、I/O 16〜18、CPU 19〜22で、全体の終了は22ミリ秒。
ひっかけ
I/Oの排他(同時動作不可)やCPUの待ちを見落とすと19〜21ミリ秒になる。
この知識の出題:本試験系 0 回・免除試験 7 回(公開問題での観測値)