OSとハードウェア

追い出されてディスクにあるページにアクセスしてページフォルトが起きたとき、OSが行う処理の流れとして正しいものはどれか。

  1. Aプログラムをすぐに異常終了させ、ページは読み込まない
  2. Bページを読み込んだあと、フォルトを起こした命令を飛ばして次の命令から再開する
  3. Cページを用意してディスクから読み込み、表を更新して命令をやり直す
答えと解説を見る

正解:C. ページを用意してディスクから読み込み、表を更新して命令をやり直す

正当なアクセスによるページフォルトでは、OSは空いている物理ページを探し(なければ別のページを追い出し)、ディスクから内容を読み込んでページテーブルの項目を有効にします。そのうえで、フォルトを起こした命令を最初からやり直すので、プログラムは何事もなかったように続きます。命令を飛ばすとそのアクセスが実行されず、結果が誤ります。異常終了させるのは、割り当てのないアドレスへの不正なアクセスの場合です。

  • A. 正当なアクセスでは異常終了させず、ページを用意します。
  • B. 命令を飛ばすとアクセスが行われず、結果が誤ります。
  • C. 正しい。ページを用意して表を更新し、命令をやり直します。
この分野を解く 分野ページへ

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

  1. ページテーブルを1段ではなく多段(階層型)にする主な理由はどれか。
  2. 仮想アドレスが32ビット、ページサイズが4 KB、ページテーブルの1項目が4バイトのとき、1段のページテーブルの大きさはいくらか。
  3. 仮想アドレスのうち48ビットを使い、ページサイズ4 KB、各段の表が512項目(9ビット)の多段ページテーブルでは、何段の表をたどる必要があるか。
  4. ページテーブルの各項目にふつう含まれる情報の組み合わせとして正しいものはどれか。
  5. プロセスを複製するときにコピーオンライトを使う利点として正しいものはどれか。