按需分頁


根據虛擬記憶體的概念,要執行某個進程,只需要在主記憶體中存在一部分過程,這意味著在任何時候只有少數幾頁才會出現在主記憶體中。

但是,決定哪些頁面需要儲存在主記憶體儲器中,哪些頁面需要儲存在輔助儲存器中,這很困難,因為不能預先說明某個過程在特定時間需要特定的頁面。

因此,為了克服這個問題,有一個叫做按需分頁(Demand Paging)的概念被引入。 它建議將所有影格的頁面保留在輔助儲存器中,直到它們被需要為止。 換句話說,它表示在需要之前不要在主記憶體中載入任何頁面。

每當首次在主記憶體中參照任何頁面時,該頁面將在輔助儲存器中找到。

之後,它可能會或可能不會出現在主記憶體中,具體取決於本教學後面將介紹的頁面替換演算法。

什麼是頁面錯誤?

如果參照的頁面不存在於主記憶體中,那麼將會有一個未命中的概念被稱為頁面遺漏或頁面錯誤。

CPU必須從輔助儲存器存取遺漏頁面。 如果頁面錯誤的數量非常多,那麼系統的有效存取時間將變得非常高。

什麼是抖動?

如果頁面錯誤的數量等於參考頁面的數量或者頁面錯誤的數量如此之高以致CPU在從輔助儲存器讀取頁面時仍然忙,則有效存取時間將是 CPU從輔助儲存器讀取一個字。 這個概念被稱為抖動

如果頁面錯誤率為PF%,則從輔助儲存器獲取頁面並再次重新啟動所需的時間為S(服務時間),並且儲存器存取時間為ma,那麼有效存取時間可以表示為;

EAT = PF X S + (1 - PF) X (ma)