請求調頁是一種動態記憶體分配技術。它把頁面的分配推遲到不能再推遲為止,也就是說,一直推遲到進程要訪問的頁不在物理記憶體時為止,由此引起一個缺頁錯誤。
基本介紹
- 中文名:請求調頁
- 定義:一種動態記憶體分配技術
- 類型:技術
- 發生原因:請求調頁技術
發生原因,請求調頁技術,全局分配,記憶體總數,優點付出的代價是,局部性原理,進程開始,
發生原因
請求調頁技術
的引入主要是因為進程開始運行的時候並不訪問其地址空間中的全部地址;事實上,有一部分地址也許進程永遠不使用。此外,程式的局部性原理保證了在程式執行的每個階段,真正使用的進程頁只有一小部分,因此臨時用不著的頁所在的物理頁面可以由其它進程來使用。因此,對於
全局分配
(一開始就給進程分配所需要的全部頁面,直到程式結束才釋放這些頁面)來說,請求調頁是首選的,因為它增加了系統中的空閒頁面的平均數,從而更好地利用空閒記憶體。從另一個觀點來看,在
記憶體總數
保持不變的情況下,請求調頁從總體上能使系統有更大的吞吐量。
為這一切
優點付出的代價是
系統額外的開銷:由請求調頁所引發的每個“缺頁”錯誤必須由核心處理,這將浪費CPU的周期。幸運的是,
局部性原理
保證了一旦
進程開始
在一組頁上運行,在接下來相當長的一段時間內它會一直停留在這些頁上而不去訪問其它的頁:這樣我們就可以認為“缺頁”錯誤是一種稀有事件。