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