平成28年 秋期 応用情報技術者 午前 問17

五つのタスクを単独で実行した場合のCPUと入出力装置(I/O)の動作順序と処理時間は、表のとおりである。
優先度“高”のタスクと、優先度“低”のタスクのうち一つだけを同時に実行する。
実行を開始してから、両方のタスクが終了するまでの間のCPUの遊休時間が最も短いのは、どの優先度“低”のタスクとの組合せか。
ここで、I/Oは競合せず、OSのオーバヘッドは考慮しないものとする。
また、表の( )内の数字は処理時間を表すものとする。

優先度 単独実行時の動作順序と処理時間(単位 ミリ秒)
CPU(3) → I/O(3) → CPU(3) → I/O(3) → CPU(2)
CPU(2) → I/O(5) → CPU(2) → I/O(2) → CPU(3)
CPU(3) → I/O(2) → CPU(2) → I/O(3) → CPU(2)
CPU(3) → I/O(2) → CPU(3) → I/O(1) → CPU(4)
CPU(3) → I/O(4) → CPU(2) → I/O(5) → CPU(2)


答え ウ


解説
優先度“高”のタスクと優先度“低”のタスクが同時に実行を開始したときの処理状態を図にする。
は優先度“高”のタスクの処理、は優先度“低”のタスクの処理、はCPU遊休時間であり、I/Oは競合しないので、各タスクは別のI/Oにアクセスすると考える。

 ア
 イ
 ウ
 エ
したがって、CPUの遊休時間が最も短いのは(ウ)である。


キーワード
・タスクの状態

キーワードの解説
  • タスクの状態
    マルチタスクのシステムにおいて、タスクの状態としては待ち状態、実行可能状態、実行状態がある。
    • 待ち状態
      タスクが実行するための条件が整うのを待っている状態。
    • 実行可能状態
      タスクが実行する条件が整い、実行状態の他のタスクの処理が終了するのを待っている状態。
    • 実行状態
      タスクが実行されている状態。実行状態になるタスクは最大で一つである。
    また、プリエンプション方式の場合は、実行可能状態になったタスクより、実行状態のタスクの優先度が低い場合、実行状態の低いタスクの処理を中断し、優先度の高いタスクを実行する。
    プリエンプションが発生しない場合、タスクの状態遷移は「待ち状態→実行可能状態→実行状態→待ち状態」になる。

もっと、「タスクの状態」について調べてみよう。

戻る 一覧へ 次へ