SC Workbook
科目 A-1 · コンピュータシステム

タスクの状態遷移

プリエンプティブなマルチタスク OS におけるタスクの状態遷移の説明として,適切なものはどれか。

  1. ア実行状態のタスクが入出力要求を発行すると,入出力が完了するまで実行状態のまま CPU を占有し続ける。
  2. イ実行状態のタスクが入出力要求を発行すると待ち状態に遷移し,入出力が完了すると実行可能状態に遷移する。
  3. ウ待ち状態のタスクは,待っている事象が発生すると,他のタスクの状態にかかわらず直ちに実行状態に遷移する。
  4. エ実行状態のタスクが,より優先度の高いタスクに CPU を横取りされると,待ち状態に遷移する。
正解と解説を見る

正解 イ

この問題の基礎知識

  • タスクの基本的な状態は,CPU を使用している実行状態,CPU が割り当てられればすぐに実行できる実行可能状態,入出力の完了などの事象を待っている待ち状態の 3 つである。
  • 実行可能状態のタスクの中から 1 つを選んで CPU を割り当て,実行状態にすることをディスパッチといい,OS のディスパッチャが行う。
  • 優先度に基づくプリエンプティブ方式では,実行中のタスクより優先度の高いタスクが実行可能になると,OS が実行中のタスクから CPU を取り上げて切り替える(プリエンプション)。
  • 状態を判断するときは,そのタスクが CPU さえあれば動けるのか,何かの事象の発生を待っているのかという観点で区別する。
ア実行状態のタスクが入出力要求を発行すると,入出力が完了するまで実行状態のまま CPU を占有し続ける。

入出力の完了を待つ間 CPU を占有し続けると CPU が遊んでしまう。マルチタスク OS では,入出力を要求したタスクは待ち状態に移り,CPU は他の実行可能なタスクに割り当てられる。

イ実行状態のタスクが入出力要求を発行すると待ち状態に遷移し,入出力が完了すると実行可能状態に遷移する。正解

入出力要求を出したタスクは待ち状態になり,入出力完了の割込みなどで事象が発生すると実行可能状態に移る。その後,ディスパッチャによって CPU が割り当てられると実行状態になる。

ウ待ち状態のタスクは,待っている事象が発生すると,他のタスクの状態にかかわらず直ちに実行状態に遷移する。

待ち状態のタスクは,事象が発生するといったん実行可能状態に遷移し,ディスパッチャに選ばれてから実行状態になる。待ち状態から実行状態へ直接遷移するわけではない。

エ実行状態のタスクが,より優先度の高いタスクに CPU を横取りされると,待ち状態に遷移する。

プリエンプションによって CPU を横取りされたタスクは,事象を待っているわけではなく,すぐにでも実行できるので実行可能状態に遷移する。待ち状態に移るのは入出力完了などの事象を待つ場合である。

検証用の出典レビュー済み
IPA 応用情報技術者試験(レベル 4)シラバス
照合の根拠(1 件)

シラバスは状態名を列挙するだけで遷移条件(入出力要求で待ち状態,事象発生で実行可能状態,横取りで実行可能状態)を説明していない。遷移条件を記述した読める一次資料(OS の教科書や μITRON 仕様は接続先外)が見つからなかった。2 回目の照合でも,接続できるホスト(NIST,OMG,UEFI,IPA 等)にタスクの状態遷移条件を説明した資料を見つけられなかった。 独立レビュアー 3 名が正解と解説を伏せて解答し、3 名とも正解と一致(2026-11-07)。重大な指摘はなく、軽微な指摘は反映済み。

問題 ID A1-CMP-0508 · AI 作成のオリジナル問題 · 出典の原文は参照できませんが、複数の独立したレビューで正解と解説を確認しています。 照合日 2026-11-07

非公式の学習用アプリです(IPA とは関係ありません)。問題はすべて AI が作成したオリジナルで、誤りを含む場合があります。