基本情報技術者カーネルと実行制御オリジナル・公式資料照合難易度★★☆☆☆
デバイスの処理が終わるまで、CPUが状態レジスターを繰り返し読む方式を見直す。完了時にデバイス側から通知できるハードウェアを使い、CPUは待つ間に他の仕事を進めたい。基本的な仕組みはどれか。
A
ポーリングの間隔をゼロにして、状態レジスターを常に読み続ける
CPUが状態を繰り返し調べる方式のままで、求めている完了通知を使った方式への変更になりません。
B
CPUが定期的に状態レジスターを読み、完了を見つけることをデバイスの完了割込みと呼ぶ
CPU側から定期的に状態を確認する方式はポーリングです。デバイスの事象通知を受ける割込みとは異なります。
C
デバイスの完了割込みを受け、対応するハンドラーで状態確認や必要な処理を行う★ 正解
デバイスの事象を割込みで通知し、ハンドラーが処理する仕組みです。待つ間のCPUを他の処理に使えます。
D
割込みでは、OSのハンドラーを介さずデバイスがアプリの任意の関数を直接実行する
デバイスからの通知をCPU・OS側が受け、対応するハンドラーで扱います。装置がアプリの任意の関数を直接呼ぶ仕組みではありません。
解説
割込みでは、デバイス等が事象をCPU側へ通知し、登録された処理へ制御を移します。これにより常時の状態確認を避けられますが、通知を扱うドライバーやOSの処理は必要です。
根拠資料・確認情報
対応範囲:2026年度 基本情報技術者試験 科目A・B
資料確認日:2026-10-28
同じレッスンの問題
問題 1
Linux上のアプリが、ユーザーモードからシステムコールでカーネルへファイル操作を依頼する。操作はブロックせず、処理中に別スレッドへの切替えも起こらず、同じスレッドへ戻った。この間に必ず別のプロセスが動いたといえるか。
問題 2
POSIXスレッドを使う一つのLinuxプロセスで、スレッドT1とT2が動いている。プロセス内のメモリについて正しい説明はどれか。
問題 3
一つのCPUを使うOSで、スレッドPは必要な入力データがまだ届かず、ブロッキングI/Oの待ち状態になった。別のスレッドQは実行可能である。PへのCPU割当てについて正しいのはどれか。 シグナル・タイムアウト等による待機の中断は考えない。
問題 4
常に実行可能な2スレッドを交互に動かすモデルを考える。定常状態で「アプリ処理4ms、切替え処理1ms」の周期を繰り返し、切替え中にはアプリ処理が進まない。他の待ち時間はない。全経過時間に占めるアプリ処理時間の割合はどれか。