リアルタイムOSのマルチタスク管理機能において、タスクAが実行状態から実行可能状態へ遷移するのはどの場合か。
ア |
タスクAが入出力要求のシステムコールを発行した。 |
イ |
タスクAが優先度の低いタスクBに対してメッセージ送信を送った。 |
ウ |
タスクAより優先度の高いタスクBが実行状態となった。 |
エ |
タスクAより優先度の高いタスクBが待ち状態となった。 |
答え ウ
【解説】
ア |
入出力要求のシステムコールを発行すると待ち状態に遷移します。 |
イ |
優先度の低いタスクにメッセージを送っての状態は変化しません。 |
ウ |
優先度の高いタスクが実行可能状態になると、実行中の優先度の低いタスクは処理を中断し実行可能状態に遷移します。 |
エ |
タスクの実行中に他のタスクが待ち状態になることはありません。 |
【キーワード】
・タスクの状態
【キーワードの解説】
- タスクの状態
マルチタスクのシステムにおいて、タスクの状態としては待ち状態、実行可能状態、実行状態がある。
- 待ち状態
タスクが実行するための条件が整うのを待っている状態。
- 実行可能状態
タスクが実行する条件が整い、実行状態の他のタスクの処理が終了するのを待っている状態。
- 実行状態
タスクが実行されている状態。実行状態になるタスクは最大で一つである。
また、プリエンプション方式の場合は、実行可能状態になったタスクより、実行状態のタスクの優先度が低い場合、実行状態の低いタスクの処理を中断し、優先度の高いタスクを実行する。
プリエンプションが発生しない場合、タスクの状態遷移は「待ち状態→実行可能状態→実行状態→待ち状態」になる。
もっと、「タスクの状態」について調べてみよう。
戻る
一覧へ
次へ
|