| タスク | 優先度 | 単独実行時の動作順序と処理時間(ミリ秒) |
|---|---|---|
| A | 高 | CPU(2) → I/O(6) → CPU(4) |
| B | 中 | CPU(2) → I/O(4) → CPU(2) |
| C | 低 | CPU(2) → I/O(2) → CPU(3) |
三つのタスク A〜C の優先度と各タスクを単独で実行した場合の CPU と入出力(I/O)装置の動作順序と処理時間は,表のとおりである。優先順位方式のタスクスケジューリングを行う OS の下で,三つのタスクが同時に実行可能状態になってから,タスク C が終了するまでに,タスク C が実行可能状態にある時間は延べ何ミリ秒か。ここで,I/O は競合せず,OS のオーバーヘッドは考慮しないものとする。また,表中の( )内の数字は処理時間を示すものとする。
ウ. 10
優先順位方式では、CPUを使いたいタスクのうち優先度の高いものが実行され、優先度の低いタスクはCPUを使えず実行可能状態(順番待ち)になる。時間を追って状態を整理し、C が実行可能状態(CPU待ち)だった時間だけを合計する。0〜2:Aが最優先でCPU使用、Cは待ち(2)。2〜4:AがI/O中、BがCPU使用、Cは待ち(2)。4〜6:A・BともI/O中なのでCがCPU使用(待ちでない)。6〜8:A・B・CすべてI/O中でCPU空き、Cは待ちでない。8〜12:3タスクともI/O完了、最優先のAがCPU(4)使用、Cは待ち(4)。12〜14:Aが完了しBがCPU(2)使用、Cは待ち(2)。14〜17:CがCPU(3)使用してC終了。Cが実行可能状態だったのは 2+2+4+2=10ミリ秒となり、ウが正解。
応用情報技術者試験 平成30年度春期 午前 の過去問一覧へ戻る・問17