OSとハードウェア
追い出されてディスクにあるページにアクセスしてページフォルトが起きたとき、OSが行う処理の流れとして正しいものはどれか。
- Aプログラムをすぐに異常終了させ、ページは読み込まない
- Bページを読み込んだあと、フォルトを起こした命令を飛ばして次の命令から再開する
- Cページを用意してディスクから読み込み、表を更新して命令をやり直す
答えと解説を見る
正解:C. ページを用意してディスクから読み込み、表を更新して命令をやり直す
正当なアクセスによるページフォルトでは、OSは空いている物理ページを探し(なければ別のページを追い出し)、ディスクから内容を読み込んでページテーブルの項目を有効にします。そのうえで、フォルトを起こした命令を最初からやり直すので、プログラムは何事もなかったように続きます。命令を飛ばすとそのアクセスが実行されず、結果が誤ります。異常終了させるのは、割り当てのないアドレスへの不正なアクセスの場合です。
- A. 正当なアクセスでは異常終了させず、ページを用意します。
- B. 命令を飛ばすとアクセスが行われず、結果が誤ります。
- C. 正しい。ページを用意して表を更新し、命令をやり直します。