OSとハードウェア
リアルタイム性が求められるシステムで、割り込みが発生してからハンドラが動き出すまでの時間(割り込み遅延)を大きくしてしまう要因として最も適切なものはどれか。
- A割り込みハンドラの中の処理を、できるだけ短くしていること
- B優先度の高い割り込みが、低い割り込みを中断できるようにしていること
- Cカーネルの中で、割り込みを禁止したまま長い処理を行う区間があること
答えと解説を見る
正解:C. カーネルの中で、割り込みを禁止したまま長い処理を行う区間があること
割り込みが禁止されている間は、どれほど急ぐ割り込みでも受け付けられないので、最悪の割り込み遅延は、最も長い割り込み禁止区間の長さで決まります。リアルタイム性を確保するには、割り込みを禁止する区間を短くし、時間のかかる処理は割り込みを許した状態で行います。ハンドラを短くすることや、優先度の高い割り込みが低い割り込みを中断できる(多重割り込み)ことは、遅延を小さくする工夫で、大きくする要因ではありません。
- A. ハンドラを短くするのは、遅延を小さくする工夫です。
- B. 優先度による中断は、急ぐ割り込みの遅延を小さくします。
- C. 正しい。長い割り込み禁止区間が、最悪の遅延を決めます。