想一想,如何從磁碟載入可執行程式到記憶體。
一種選擇是在程式執行時將整個程式載入到實體記憶體,這種方法的問題是最初可能不需要整個程式都處於記憶體。假設程式開始時帶有一組使用者可選的選項。載入整個程式會導致所有選項的執行程式碼都載入到記憶體中,而不管這些選項是否最終使用。
另一種策略是僅在需要時才載入頁面。這種技術被稱為
請求調頁,常常用於虛擬記憶體系統。對於請求調頁的虛擬記憶體,頁面只有在程式執行期間被請求時才被載入。因此,從未存取的那些頁從不載入到實體記憶體中。
請求調頁系統類似於具有交換的分頁系統,如圖 1 所示,這裡進程駐留在外存上(通常為磁碟)。當進程需要執行時,它被交換到記憶體中。不過,不是將整個進程交換到記憶體中,而是採用惰性交換器。惰性交換器除非需要某個頁面,否則從不將它交換到記憶體中。
圖 1 從分頁記憶體到連續磁碟空間的傳輸