ソフトウェア

基本情報技術者試験 科目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 回(公開問題での観測値)

この知識をアプリで解いて覚える レッスン「スケジューリングと排他制御の計算」で学ぶ

同じ知識の過去問