待ち状態とは?まちじょうたい
待ち状態とは、タスクが入出力の完了などの外部の出来事を待っていて、CPUを割り当てても仕事が進まない状態。実行状態・実行可能状態と並ぶタスクの三つの状態の一つで、待っていた出来事が起きると実行可能状態へ戻り、そこで順番が回ってきて初めて実行状態になる。試験ではこの三状態の遷移図が繰り返し出題される。
最終更新:2026-10-09
この語が出る過去問を解く →背景
CPUは磁気ディスクやネットワークより桁違いに速く、入出力の返事を待つ間そのタスクにCPUを与え続けると、その時間がまるごと無駄になる。そこで待ちに入ったタスクからはCPUを取り上げ、別のタスクに回して装置を遊ばせない仕組みが作られた。待ち状態は、その「取り上げてよい」印としてOSがタスクに付ける区別である。
具体例
Linuxで実行中のプログラム(プロセス)の一覧を表示すると、状態の欄にSやDという記号が出ることがある。どちらもディスクの読み書きや通信の完了を待っている待ち状態を表し、この間そのプロセスはCPU時間をほとんど消費しない。
試験での引っ掛け
CPUの空きを待っているのは待ち状態ではなく実行可能状態である。また待ち状態から実行状態へ直接は移れず、必ず実行可能状態を経由する。この遷移の矢印を一つ飛ばした選択肢が定番の誤りになる。
関連用語
出た過去問
出典:平成29年度 秋期 基本情報技術者試験 午前 問18(IPA)解説で登場
優先度に基づくプリエンプティブなスケジューリングを行うリアルタイムOSで、二つのタスクA, Bをスケジューリングする。Aの方がBよりも優先度が高い場合にリアルタ…
正解:Bの実行中にAに起動がかかると、Bを実行可能状態にしてAを実行する。
要点:プリエンプションで奪われたタスクは待ち状態でなく実行可能状態へ
プリエンプティブなスケジューリングでは、実行中のタスクより優先度の高いタスクが実行可能になった時点で、OSが実行中のタスクからCPUを取り上げて切り替える。取り上げられたタスクはCPUさえ空けばすぐ動ける状態なので「実行可能状態(ready)」へ移る。入出力完了などの事象を待つ「待ち状態」へは移らない点が要点である。
出典:令和元年度 秋期 基本情報技術者試験 午前 問18(IPA)解説で登場
優先度に基づくプリエンプティブなスケジューリングを行うリアルタイムOSで、二つのタスクA、Bをスケジューリングする。Aの方がBよりも優先度が高い場合にリアルタイ…
正解:Bの実行中にAに起動がかかると、Bを実行可能状態にしてAを実行する。
要点:プリエンプションで奪われたタスクは待ちでなく実行可能状態へ
プリエンプティブ方式では、実行中のタスクより優先度の高いタスクが実行可能になった時点でCPUが強制的に奪われる。奪われた側は入出力などの完了を待っているわけではないので「待ち状態」ではなく「実行可能状態」に移り、CPUが空けばすぐ再開できる。優先度の低いタスクが起動しても実行中のタスクは中断されない。
出典・参考
公式シラバスの2 コンピュータシステム > 1. オペレーティングシステム > (4) タスク管理に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。