基本情報技術者カーネルと実行制御オリジナル・公式資料照合難易度★★☆☆☆
一つのCPUを使うOSで、スレッドPは必要な入力データがまだ届かず、ブロッキングI/Oの待ち状態になった。別のスレッドQは実行可能である。PへのCPU割当てについて正しいのはどれか。 シグナル・タイムアウト等による待機の中断は考えない。
A
Pの優先度を上げるだけで、入力待ち条件が解消しなくてもPを実行可能状態へ戻せる
優先度による実行順の判断と、I/Oの待ち条件が解消したかは別です。優先度を上げるだけでは入力は用意されません。
B
Pは待ち条件が解消するまで実行候補にならず、その間にQ等を実行できる★ 正解
Pの待ち中に別の実行可能なスレッドを走らせ、I/OとCPU処理を重ねることができます。
C
Pが待つ間、実行可能なQがあってもCPUは必ず停止し続ける
実行可能な別スレッドがあるなら、それを選択できます。一つのスレッドの待ちがCPU全体の停止を必ず意味しません。
D
PはCPUの実行権を持ち続け、到着を監視するループを実行している状態である
CPUを使い続けるビジーウェイトの説明です。ブロッキングI/Oの待ち状態とは区別します。
解説
実行可能状態と、I/O等の事象待ち状態を区別します。待っているスレッドは、必要な事象が発生して実行可能に戻るまでCPUを使う候補から外れます。
根拠資料・確認情報
対応範囲:2026年度 基本情報技術者試験 科目A・B
資料確認日:2026-10-28
同じレッスンの問題
問題 1
Linux上のアプリが、ユーザーモードからシステムコールでカーネルへファイル操作を依頼する。操作はブロックせず、処理中に別スレッドへの切替えも起こらず、同じスレッドへ戻った。この間に必ず別のプロセスが動いたといえるか。
問題 2
POSIXスレッドを使う一つのLinuxプロセスで、スレッドT1とT2が動いている。プロセス内のメモリについて正しい説明はどれか。
問題 4
常に実行可能な2スレッドを交互に動かすモデルを考える。定常状態で「アプリ処理4ms、切替え処理1ms」の周期を繰り返し、切替え中にはアプリ処理が進まない。他の待ち時間はない。全経過時間に占めるアプリ処理時間の割合はどれか。
問題 5
デバイスの処理が終わるまで、CPUが状態レジスターを繰り返し読む方式を見直す。完了時にデバイス側から通知できるハードウェアを使い、CPUは待つ間に他の仕事を進めたい。基本的な仕組みはどれか。