平成20年 秋期 基本情報技術者 午前 問29

図はマルチタスクで動作するコンピュータにおけるタスクの状態遷移を表したものである。
実行状態のタスクが実行可能状態に遷移するのはどれか。

 ア  自分より優先順位の高いタスクが実行可能状態になった。
 イ  タスクが生成された。
 ウ  入出力要求による処理が完了した。
 エ  入出力要求を行った。


答え ア


解説
タスクの各状態の遷移の要因は図と表のようになっている。

No 要因
@ 新しくタスクが生成された
A OSから実行権が割り当てられた
B 入出力要求などを行い、実行するための条件待ち
C 入出力要求による処理が完了し、実行可能になった
D 自分より優先順位の高いタスクが実行可能状態になり、実行権が横取りされた(プリエンプション、preemption)
E タスクが削除された
したがって、Dのタスクが実行状態が実行可能状態へ遷移するのは『自分より優先順位の高いタスクが実行可能状態になった。』(ア)である。


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

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

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

戻る 一覧へ 次へ