ソフトウェア
コンピュータシステムにおける割り込みの優先度制御について、正しいものはどれか。
ア.すべての割り込みは必ず同一の優先度で処理され、発生順に処理される
イ.割り込みは優先度が設定できるが、現在処理中の割り込みを中断させることはできない
ウ.ソフトウェア割り込みは常にハードウェア割り込みより高い優先度を持つ
エ.高優先度の割り込みは低優先度の割り込みハンドラを中断して割り込むことができ(割り込みのネスト)、CPUは優先度マスクで制御する正解
解説
割り込みの優先度制御は「救急病院のトリアージ」みたいなもの。通常患者(低優先度割り込み)の診察中に重篤患者(高優先度割り込み)が来たら、通常患者を一時中断して重篤患者を先に治療する。そして優先度マスクは「この優先度以下の患者は今は受け付けません」という受付制限!
なぜ エ が正解か
割り込み優先度制御のメカニズム:①割り込みコントローラ(PIC/APIC)が各割り込み源に優先度を割り当て②CPUの割り込みマスクレジスタで「この優先度以下の割り込みは受け付けない」を設定③高優先度割り込み発生時→現在処理中の低優先度ハンドラを一時停止→コンテキスト保存→高優先度ハンドラ実行(割り込みネスト)④これにより重要なリアルタイムイベント(タイマー、緊急I/O)を遅延なく処理可能。
出典: AI生成問題(学習用)