OSとハードウェア

メモリのアクセス時間が100 ns、ページフォルトの処理に8 msかかるとき、100万回に1回ページフォルトが起こると、平均のアクセス時間はおよそいくらになるか。

  1. A約108 ns
  2. B約100 ns
  3. C約8 ms
答えと解説を見る

正解:A. 約108 ns

平均のアクセス時間は、(1 − p) × 100 ns + p × 8 ms で、p = 10⁻⁶ なので、およそ 100 ns + 10⁻⁶ × 8,000,000 ns = 100 + 8 = 108 nsになります。100万回に1回という低い頻度でも、平均が8%遅くなるほどページフォルトの処理は重いことが分かります。約100 nsはページフォルトの影響を無視した値で、約8 msはページフォルトが毎回起きた場合の値です。

  • A. 正しい。100 + 10⁻⁶ × 8,000,000 = 約108 nsです。
  • B. 約100 nsはページフォルトの影響を無視した値です。
  • C. 約8 msは毎回フォルトが起きた場合の値です。
この分野を解く 分野ページへ

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

  1. コンテキストスイッチで、切り替える前のプロセスについて保存しておく必要があるものはどれか。
  2. プロセスのコンテキストスイッチが、レジスタの保存と復元にかかる時間よりも、実際には大きな性能の低下を招くことがある主な理由はどれか。
  3. TLBの各項目にASID(アドレス空間識別子)を付ける利点として正しいものはどれか。
  4. OSが、自分からCPUを手放さないプログラムからでも一定時間ごとにCPUを取り戻して、ほかのプロセスに切り替えられるのは、主にどのしくみによるか。
  5. 上のように装置の状態レジスタをメモリマップドI/Oで読むとき、volatileを付け、その領域をキャッシュしない設定にする理由として正しいものはどれか。