平成21年度秋期 応用情報技術者試験 午前 問19
リアルタイム OS のマルチタスク管理機能において,タスク A が実行状態から実行可能状態へ遷移するのはどの場合か。
- ア タスク A が入出力要求のシステムコールを発行した。
- イ タスク A が優先度の低いタスク B に対して,メッセージ送信を行った。
- ウ タスク A より優先度の高いタスク B が実行状態となった。
- エ タスク A より優先度の高いタスク B が待ち状態となった。
解答・解説を見る
正解:ウ
AI解説
実行状態のタスクAより優先度の高いタスクBが実行状態になると、プリエンプション(横取り)によりAは実行状態から実行可能状態(いつでも実行できるが待たされている状態)へ遷移する。実行状態は同時に1つのタスクしか占有できないため、より優先度の高いタスクにCPUを譲る形になる。 ア: 入出力要求を発行したタスクは、入出力完了まで実行できない待ち状態(ブロック状態)に遷移するのであり、実行可能状態への遷移ではない。 イ: 優先度の低いタスクBへメッセージ送信を行っても、タスクA自身の状態は基本的に変化せず実行状態を継続する。 ウ: 正しい。タスクAより優先度の高いタスクBが実行状態になると、タスクAはCPUを明け渡し実行状態から実行可能状態へ遷移する。 エ: タスクAより優先度の高いタスクBが待ち状態になっても、それはタスクAの状態遷移とは直接関係せず、Aが実行状態のままなら遷移は起こらない。 💡 タスクの状態遷移は「実行状態・実行可能状態・待ち状態」の3つが基本。より優先度の高いタスクの出現でプリエンプトされる(実行可能状態に落とされる)パターンを押さえておく。
出典:平成21年度 秋期 応用情報技術者試験 午前 問19 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。