作業系統與硬體

在將檔案對應到記憶體的機制(如mmap)中,關於讀取檔案內容時發生之事的說明,下列何者正確?

  1. A第一次存取時發生分頁錯誤,該部分被載入
  2. B對應的當下整個檔案就被載入實體記憶體,此後不再使用磁碟
  3. C每次存取都會呼叫系統呼叫,逐位元組地從檔案讀取
查看答案與解析

正確答案:A. 第一次存取時發生分頁錯誤,該部分被載入

將檔案對應到位址空間時,作業系統只是在頁表中登記該範圍,並不會立即載入。程式第一次存取時會發生分頁錯誤,由作業系統將檔案的對應部分載入實體分頁,此後即可當作一般記憶體讀寫。這與需求分頁是相同的機制,每次讀取都不必呼叫系統呼叫,也能減少多餘的資料複製。並不是一開始就載入整個檔案。

  • A. 正確。第一次存取時發生分頁錯誤,只載入需要的部分。
  • B. 並不是一開始就載入整個檔案。
  • C. 載入之後即可當作一般記憶體存取,不必每次呼叫系統呼叫。
練習這個領域 前往領域頁面

作業系統與硬體的其他題目

  1. 寫出小量資料時,與其逐位元組每次都呼叫系統呼叫,不如先暫存在使用者空間的緩衝區再一併寫出,速度會比較快,其主要理由為何?
  2. CPU設置特權模式(核心模式)與使用者模式,主要目的為何?
  3. 應用程式請求作業系統進行檔案讀寫等操作的機制稱為什麼?
  4. 上方RISC-V程式碼最後的ecall指令被執行時,會發生下列何事?
  5. 關於中斷與例外的差異,下列何者是一般的說明?

這個領域的比較