虛擬內存

虛擬內存是計算機系統內存管理的一種技術 。 它使得應用程序認爲它擁有連續可用的內存 （ 一個連續完整的地址空間 ） ， 而實際上物理內存通常被分隔成多個內存碎片 ， 還有部分暫時存儲在外部磁盤存儲器上 ， 在需要時進行數據交換 。 與沒有使用虛擬內存技術的系統相比 ， 使用這種技術使得大型程序的編寫變得更容易 ， 對真正的物理內存 （ 例如RAM ） 的使用也更有效率 。 此外 ， 虛擬內存技術可以使多個進程共享同一個運行庫 ， 並通過分割不同進程的內存空間來提高系統的安全性 。 要注意的是 ， 虛擬內存不只是 「 用磁盤空間來擴展物理內存 」 的意思 — — 這只是擴充內存級別以使其包含硬盤驅動器而已 。 把內存擴展到磁盤只是使用虛擬內存技術的一個結果 ， 它的作用也可以通過覆蓋或者把處於不活動狀態的程序以及它們的數據全部交換到磁盤上等方式來實現 。 對虛擬內存的定義是基於對地址空間的重定義的 ， 即把地址空間定義爲 「 連續的虛擬內存地址 」 ， 以藉此 「 欺騙 」 程序 ， 使它們以爲自己正在使用一大塊的 「 連續 」 地址 。 那些需要快速存取或者相應時間非常穩定的嵌入式系統 ， 以及其他的具有特殊應用的計算機系統 ， 可能會爲了避免讓運算結果的可預測性降低 ， 而選擇不使用虛擬內存 。