応用情報技術者試験 令和4年度 秋期 午前 問18
優先度に基づくプリエンプティブなスケジューリングを行うリアルタイム OS における割込み処理の説明のうち、適切なものはどれか。ここで、割込み禁止状態は考慮しないものとし、割込み処理を行うプログラムを割込み処理ルーチン、割込み処理以外のプログラムをタスクと呼ぶ。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】ウ
割込みは、装置の入出力完了やタイマーの満了など、直ちに処理すべき事象をCPUへ通知する仕組みです。割込みが受け付けられると、実行中のタスクは一時的に中断され、割込み処理ルーチンが実行されます。これは通常のタスクスケジューリングよりも先に行われるため、最も優先度の高いタスクを実行している途中であっても、割込み処理ルーチンが優先されます。処理後は、スケジューラが実行可能なタスクの優先度を判定します。
アのタスク切替えを禁止すると割込み処理ルーチンも呼び出されないという説明は誤りです。タスク切替えの禁止はスケジューラによるタスクの交代を抑止するものです。設問では割込み禁止状態を考慮しないので、割込み自体は受け付けられます。
イの処理時間が応答性に影響しないという説明は誤りです。割込み処理中はタスクの実行が遅らされるため、処理時間が長いほどタスクの応答開始が遅れ、リアルタイム性が低下します。
エの割り込まれたタスクと同一のコンテキストで実行されるという説明は誤りです。割込み処理ルーチンはタスクとは異なる割込みコンテキストで実行されます。そのため、待ち状態になる処理など、通常のタスクだけに許される操作には制約があります。
【ポイント】 プリエンプティブ方式では、より高い優先度のタスクが実行可能になると、実行中のタスクを中断して切り替えます。 割込み処理ルーチンは短くし、時間のかかる処理は可能な限りタスク側へ引き継ぐのが基本です。
出典:令和4年度 秋期 応用情報技術者試験 午前 問18
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の80問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる