OSとハードウェア

リアルタイム性が求められるシステムで、割り込みが発生してからハンドラが動き出すまでの時間(割り込み遅延)を大きくしてしまう要因として最も適切なものはどれか。

  1. A割り込みハンドラの中の処理を、できるだけ短くしていること
  2. B優先度の高い割り込みが、低い割り込みを中断できるようにしていること
  3. Cカーネルの中で、割り込みを禁止したまま長い処理を行う区間があること
答えと解説を見る

正解:C. カーネルの中で、割り込みを禁止したまま長い処理を行う区間があること

割り込みが禁止されている間は、どれほど急ぐ割り込みでも受け付けられないので、最悪の割り込み遅延は、最も長い割り込み禁止区間の長さで決まります。リアルタイム性を確保するには、割り込みを禁止する区間を短くし、時間のかかる処理は割り込みを許した状態で行います。ハンドラを短くすることや、優先度の高い割り込みが低い割り込みを中断できる(多重割り込み)ことは、遅延を小さくする工夫で、大きくする要因ではありません。

  • A. ハンドラを短くするのは、遅延を小さくする工夫です。
  • B. 優先度による中断は、急ぐ割り込みの遅延を小さくします。
  • C. 正しい。長い割り込み禁止区間が、最悪の遅延を決めます。
この分野を解く 分野ページへ

OSとハードウェアのほかの問題

  1. NMI(マスク不可能割り込み)の説明として正しいものはどれか。
  2. 複数のコアをもつシステムで、OSがあるページのページテーブルの項目を書き換えて対応を取り消したとき、必要になる処理として正しいものはどれか。
  3. プログラムが、OSが割り当てていないアドレスにアクセスしたときに一般的に起こることはどれか。
  4. ファイルをメモリに対応づける(mmapのような)しくみで、ファイルの内容を読むときに起こることの説明として正しいものはどれか。
  5. 小さなデータを1バイトずつ書き出すときに、毎回システムコールを呼ぶより、ユーザ空間のバッファにためてからまとめて書き出す方が速くなる主な理由はどれか。