虛擬記憶體是指在記憶體貯器容量不夠大的電腦中,為給使用者提供更大的隨機存取空間而採用的一種軟體設計技巧。
虛擬記憶體系統是指管理和分配使用者程式虛擬記憶體的程式。 (建議學習:phpstorm)
#虛擬記憶體系統出現的原因有記憶體容量不大及程序局部性原則。
分頁式管理:將記憶體分成固定大小的頁,分配若干頁將整個進程載入。頁面可以不連續是其重要優點,不會產生外碎片,更有效地利用了內存,不過會產生一些內碎片,即分配給進程的最後一個頁往往不能正好用完,不過在頁面大小不是很大的時候可以接受。
請求式分頁與虛擬記憶體
請求式分頁:將行程放入虛擬記憶體中,由於一個行程的頁面不會同時全部被用到,只將需要用到的頁面調入實體記憶體。 即進程並沒有整個在物理記憶體中。
幾個請求式分頁的概念:(部落格連結:請求式分頁中的記憶體分配)
固定分配:在物理記憶體中分配給進程的記憶體塊數一定。
可變分配:實體記憶體先分配給行程一些記憶體區塊,如不夠,可適當增加。
局部置換:發生在分配的記憶體區塊已用完,又發生了缺頁時,只能置換本來就是自己的記憶體區塊。
全域置換:發生在分配的記憶體區塊已用完,又發生了缺頁時,可以置換到作業系統保留的空閒頁。這其實相當於增加了進程佔有的記憶體區塊數。
三種分配方式:固定分配局部置換、可變分配全域置換、可變分配局部置換。固定分配、全域置換不能組合。
以上是關於作業系統中分頁及虛擬內存的詳細內容。更多資訊請關注PHP中文網其他相關文章!