IPA過去問ドリル

平成30年度 春期 応用情報技術者試験 午前 問17

テクノロジ/ソフトウェア

三つのタスク A〜C の優先度と各タスクを単独で実行した場合の CPU と入出力(I/O)装置の動作順序と処理時間は,表のとおりである。優先順位方式のタスクスケジューリングを行う OS の下で,三つのタスクが同時に実行可能状態になってから,タスク C が終了するまでに,タスク C が実行可能状態にある時間は延べ何ミリ秒か。ここで,I/O は競合せず,OS のオーバヘッドは考慮しないものとする。また,表中の()内の数字は処理時間を示すものとする。 タスクA:優先度 高,動作順序と処理時間 CPU(2)→I/O(6)→CPU(4) タスクB:優先度 中,動作順序と処理時間 CPU(2)→I/O(4)→CPU(2) タスクC:優先度 低,動作順序と処理時間 CPU(2)→I/O(2)→CPU(3) (注:本サイトでは原問題の表を文字表記に変換しています)

出典:平成30年度 春期 応用情報技術者試験 午前 問17

正解:ウ

解説

優先度の高いA,中位のBが先にCPUを使うため,Cは待たされます。時間経過を追うと,Cが実行可能状態(CPU待ち)にあるのは,0〜2ms(Aの初回CPU実行中),2〜4ms(Bの初回CPU実行中),8〜12ms(Aの2回目CPU実行中),12〜14ms(Bの2回目CPU実行中)の合計4区間で,2+2+4+2=10ミリ秒になります。

選択肢ごとの解説

  • 誤り。6ミリ秒は,Cが待たされる区間の一部(例えば前半の2区間分)だけを数えた場合に生じる値です。
  • 誤り。8ミリ秒は,Cの待ち時間区間を1つ数え忘れた場合に生じる値です。
  • 正しい。Cが実行可能状態で待たされる時間の合計は2+2+4+2=10ミリ秒です。
  • 誤り。12ミリ秒は,Cの実行時間(CPU(2)+CPU(3))を待ち時間に含めるなど,実行中の時間まで加算してしまった場合に生じる値です。
応用情報技術者の過去問を演習モードで解く