程式局部性原理,是指程式在執行時呈現出局部性規律,即在一段時間內,整個程式的執行僅限於程式中的某一部分。相應地,執行所訪問的存儲空間也局限於某個記憶體區域。
基本介紹
- 中文名:程式局部性原理
- 釋義:程式在執行時呈現出局部性規律
- 表現:時間局部性和空間局部性
- 類型:原理
- 劃分標準:定長時間或定長頁面
- 相關:工作集理論
局部性原理又表現為:時間局部性和空間局部性。
時間局部性是指如果程式中的某條指令一旦執行,則不久之後該指令可能再次被執行;如果某數據被訪問,則不久之後該數據可能再次被訪問。
空間局部性是指一旦程式訪問了某個存儲單元,則不久之後。其附近的存儲單元也將被訪問。
另外,根據程式的局部性理論,Denning提出了工作集理論。所謂工作集是指進程運行時被頻繁訪問的頁面集合。顯然我們知道只要使程式的工作集全部集中在記憶體中,就可以大大減少進程的缺頁次數;否則會使進程在運行過程中頻繁出現缺頁中斷,從而出現頻繁的頁面調入/調出現象,造成系統性能的下降,甚至出現“抖動”。
劃分工作集可以按定長時間或定長頁面兩種方法進行劃分。當顛簸現象發生時,說明系統的負荷過大,通常採用處理器均衡調度。另一種是控制缺頁率,當缺頁率達到上限時,則增加記憶體分配量;當缺頁率達到下限時,就減少記憶體的分配量。