平成20年 春期 ソフトウェア開発技術者 午前 問25

タスクが実行状態、実行可能状態、待ち状態のいずれかの状態をとるとき、実行状態のタスクがプリエンプションによってほかのタスクに実行を中断され、再び実行状態となるまでの状態の変化を示したものはどれか。

 ア  実行状態、実行可能状態、実行状態
 イ  実行状態、実行可能状態、待ち状態、実行状態
 ウ  実行状態、待ち状態、実行可能状態、実行状態
 エ  実行状態、待ち状態、実行状態


答え ア


解説
実行状態のタスクより、優先度の高い他のタスクが実行可能状態になったとき、実行状態のタスクは処理を中断して実行可能状態なり、優先度の高いタスクが実行可能状態になる。(処理を中断したタスクは、実行するための条件が整っているので、状態としては実行可能状態になる。)
実行状態の優先度の高いタスクの処理が終了すると、処理を中断したタスクが実行可能状態から実行状態になる。
したがって、状態遷移としては実行状態→実行可能状態→実行状態(ア)になる。


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

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

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

戻る 一覧へ 次へ