OSとハードウェア

ファイルをメモリに対応づける(mmapのような)しくみで、ファイルの内容を読むときに起こることの説明として正しいものはどれか。

  1. A初めてのアクセスでページフォルトが起き、その部分が読み込まれる
  2. B対応づけた時点でファイル全体が物理メモリに読み込まれ、それ以降ディスクは使われない
  3. Cアクセスのたびにシステムコールが呼ばれ、1バイトずつファイルから読み出される
答えと解説を見る

正解:A. 初めてのアクセスでページフォルトが起き、その部分が読み込まれる

ファイルをアドレス空間に対応づけると、OSはページテーブルにその範囲を登録するだけで、すぐには読み込みません。プログラムが初めてアクセスするとページフォルトが起き、OSがファイルの該当部分を物理ページに読み込み、以後は通常のメモリとして読み書きできます。デマンドページングと同じしくみで、読み出しのたびにシステムコールを呼ぶ必要がなく、データの余分なコピーも減らせます。全体を最初に読み込むわけではありません。

  • A. 正しい。初めてのアクセスでページフォルトが起き、必要な部分だけが読み込まれます。
  • B. 全体を最初に読み込むわけではありません。
  • C. 一度読み込んだあとは通常のメモリとしてアクセスでき、毎回のシステムコールは不要です。
この分野を解く 分野ページへ

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

  1. 小さなデータを1バイトずつ書き出すときに、毎回システムコールを呼ぶより、ユーザ空間のバッファにためてからまとめて書き出す方が速くなる主な理由はどれか。
  2. CPUに特権モード(カーネルモード)とユーザモードを設ける主な目的はどれか。
  3. アプリケーションがファイルの読み書きなどをOSに依頼するしくみを何と呼ぶか。
  4. 上のRISC-Vのコードの最後のecall命令が実行されたときに起こることとして正しいものはどれか。
  5. 割り込みと例外の違いとして一般的な説明はどれか。