平成23年度 特別 午前Ⅱ 問8
オペレーティングシステム
実行状態に関する問題
タスクが発行するシステムコールと発行後の状態遷移先との組合せとして,起こり得るものはどれか。
選択肢は原典では発行するシステムコール・状態遷移先の表。
- ア発行するシステムコール:イベントフラグ待ち / 状態遷移先:実行可能状態
- イ発行するシステムコール:セマフォのP操作 / 状態遷移先:実行可能状態
- ウ発行するシステムコール:メールボックスへの送信 / 状態遷移先:実行可能状態
- エ発行するシステムコール:メモリ返却 / 状態遷移先:待ち状態
答えと解説を見る
✓ これが正解ウ発行するシステムコール:メールボックスへの送信 / 状態遷移先:実行可能状態
解説
メールボックスへ送信すると、送信側が実行可能状態に移り得ます。
見分ける軸は、そのシステムコールを発行したタスク自身がどの状態へ移り得るかです。メールボックスへ送信したとき、そのメッセージを待っていた優先度の高いタスクがあると、そのタスクは待ちを解かれて実行状態になります。すると送信したタスクは実行権を奪われ、実行可能状態へ移ります。一方、待ちを伴うシステムコールでは、発行したタスクは実行状態のままか、待ち状態へ移るかのどちらかで、実行可能状態へは移りません。発行した側が実行可能状態になるのは、ほかのタスクを起こして優先度で追い越される場合だと押さえておきましょう。
ほかの選択肢はなぜ違うのか
- ア発行するシステムコール:イベントフラグ待…:イベントフラグ待ちを発行したタスクは、条件が満たされていればそのまま実行を続け、満たされていなければ待ち状態に移ります。発行した直後に実行可能状態へ移る筋道はありません。
- イ発行するシステムコール:セマフォのP操作…:セマフォのP操作では、資源が残っていれば獲得して実行を続け、残っていなければ待ち状態に移ります。どちらの場合も、発行したタスクが実行可能状態へ移ることはありません。
- エ発行するシステムコール:メモリ返却 / …:メモリ返却は使い終わったメモリを戻す操作で、発行したタスクが何かを待つ理由がありません。返却によって待ち状態へ移ることはないので、この組合せは成り立ちません。
出典:平成23年度 特別 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問8
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)