滄海桑田話存貯 內存/顯存發展編年史
使用Windows的人都知道虛擬內存,簡而言之,虛擬內存技術事實上是用硬盤來代替內存的一種做法,如果計算機缺少運行程序或操作所需的隨機存取內存 (RAM),則Windows 使用虛擬內存進行補償。
虛擬內存將計算機的RAM和硬盤上的臨時空間組合在一起。當 RAM 運行速度緩慢時,虛擬內存將數據從 RAM 移動到稱為“分頁文件”的空間中。將數據移入與移出分頁文件可以釋放 RAM,以便完成工作。
一般而言,計算機的 RAM 越多,程序運行得越快。如果計算機的速度由于缺少 RAM 而降低,則可以嘗試增加虛擬內存來進行補償。但是,計算機從 RAM 讀取數據的速度要比從硬盤讀取數據的速度快得多,因此增加 RAM 是更好的方法。

不知大家有沒有發現,在Windows目錄下有一個名為pagefile.sys的系統文件(Windows98下為Win386.swp),它的大小經常自己發生變動,小的時候可能只有幾十兆,大的時候則有數百兆,這種毫無規律的變化實在讓很多人摸不著頭腦。其實,pagefile.sys是Windows下的一個虛擬內存,它的作用與物理內存基本相似,但它是作為物理內存的“后備力量”而存在的,但是,它并不是在只有物理內存不夠用時才發揮作用的,也就是說在物理內存夠用時也有可能使用虛擬內存,如果你虛擬內存設置過小則會提示“虛擬內存不足”。
我們都知道,雖然在運行速度上硬盤不如內存,但在容量上內存是無法與硬盤相提并論的。當運行一個程序需要大量數據、占用大量內存時,內存就會被“塞滿”,并將那些暫時不用的數據放到硬盤中,而這些數據所占的空間就是虛擬內存。現在我們也明白為什么pagefile.sys的大小會經常變化了。
內存在計算機中的作用很大,電腦中所有運行的程序都需要經過內存來執行,如果執行的程序分配的內存的總量超過了內存大小,就會導致內存消耗殆盡。為了解決這個問題,Windows中運用了虛擬內存技術,即拿出一部分硬盤空間來充當內存使用,當內存占用完時,電腦就會自動調用硬盤來充當內存,以緩解內存的緊張。
舉個例子來說,壓縮程序在壓縮時有時候需要讀取文件的很大一部分并保存在內存中作反復的搜索。假設內存大小是128MB,而要壓縮的文件有 200MB,且壓縮軟件需要保存在內存中的大小也是 200MB,那么這時操作系統就要權衡壓縮程序和系統中的其他程序,把多出來的那一部分數據放進交換文件。
關注我們


