OSとハードウェア
割り込みハンドラの処理を、すぐに行う短い部分と、あとで通常の文脈で行う残りの部分に分ける理由として正しいものはどれか。
- Aハンドラを2回に分けて実行すると、処理の総量が半分になるから
- B後半の処理はハードウェアが自動で行うので、ソフトウェアが不要になるから
- C割り込みを止める時間を短くし、重い処理を後で行うため
答えと解説を見る
正解:C. 割り込みを止める時間を短くし、重い処理を後で行うため
割り込みハンドラの実行中は、同じ種類やより低い優先度の割り込みが待たされることが多く、長い処理をするとシステム全体の応答が悪くなります。そこで、装置から状態を読み取って受け付けを知らせるといった急ぐ処理だけを最初に行い、データの加工や上位への通知などの時間のかかる処理は、あとで割り込みを許した通常の文脈で行います。処理の総量は減らず、後半もソフトウェアが行います。
- A. 処理の総量は減りません。
- B. 後半もソフトウェアが行います。
- C. 正しい。割り込みを止める時間を短くし、重い処理は後で行います。