作業系統與硬體
在將檔案對應到記憶體的機制(如mmap)中,關於讀取檔案內容時發生之事的說明,下列何者正確?
- A第一次存取時發生分頁錯誤,該部分被載入
- B對應的當下整個檔案就被載入實體記憶體,此後不再使用磁碟
- C每次存取都會呼叫系統呼叫,逐位元組地從檔案讀取
查看答案與解析
正確答案:A. 第一次存取時發生分頁錯誤,該部分被載入
將檔案對應到位址空間時,作業系統只是在頁表中登記該範圍,並不會立即載入。程式第一次存取時會發生分頁錯誤,由作業系統將檔案的對應部分載入實體分頁,此後即可當作一般記憶體讀寫。這與需求分頁是相同的機制,每次讀取都不必呼叫系統呼叫,也能減少多餘的資料複製。並不是一開始就載入整個檔案。
- A. 正確。第一次存取時發生分頁錯誤,只載入需要的部分。
- B. 並不是一開始就載入整個檔案。
- C. 載入之後即可當作一般記憶體存取,不必每次呼叫系統呼叫。