虛擬內(nèi)存是什么意思工作原理是什么
虛擬內(nèi)存是什么意思工作原理是什么
虛擬內(nèi)存是計算機系統(tǒng)內(nèi)存管理的一種技術(shù)。那么你對虛擬內(nèi)存了解多少呢?以下是由學(xué)習(xí)啦小編整理關(guān)于什么是虛擬內(nèi)存的內(nèi)容,希望大家喜歡!
虛擬內(nèi)存的介紹
虛擬內(nèi)存是計算機系統(tǒng)內(nèi)存管理的一種技術(shù)。它使得應(yīng)用程序認(rèn)為它擁有連續(xù)的可用的內(nèi)存(一個連續(xù)完整的地址空間),而實際上,它通常是被分隔成多個物理內(nèi)存碎片,還有部分暫時存儲在外部磁盤存儲器上,在需要時進(jìn)行數(shù)據(jù)交換。目前,大多數(shù)操作系統(tǒng)都使用了虛擬內(nèi)存,如Windows家族的“虛擬內(nèi)存”;Linux的“交換空間”等。
Windows 8/8.1 操作系統(tǒng)如出現(xiàn)開機時卡在Windows徽標(biāo)頁面,無法進(jìn)入系統(tǒng),必須強制關(guān)機再重啟才能打開時,可適當(dāng)調(diào)整虛擬內(nèi)存設(shè)置解決。
虛擬內(nèi)存的工作原理
虛擬存儲器是由硬件和操作系統(tǒng)自動實現(xiàn)存儲信息調(diào)度和管理的。它的工作過程包括6個步驟:
?、僦醒胩幚砥髟L問主存的邏輯地址分解成組號a和組內(nèi)地址b,并對組號a進(jìn)行地址變換,即將邏輯組號a作為索引,查地址變換表,以確定該組信息是否存放在主存內(nèi)。
②如該組號已在主存內(nèi),則轉(zhuǎn)而執(zhí)行④;如果該組號不在主存內(nèi),則檢查主存中是否有空閑區(qū),如果沒有,便將某個暫時不用的組調(diào)出送往輔存,以便將這組信息調(diào)入主存。
③從輔存讀出所要的組,并送到主存空閑區(qū),然后將那個空閑的物理組號a和邏輯組號a登錄在地址變換表中。
?、軓牡刂纷儞Q表讀出與邏輯組號a對應(yīng)的物理組號a。
?、輳奈锢斫M號a和組內(nèi)字節(jié)地址b得到物理地址。
⑥根據(jù)物理地址從主存中存取必要的信息。
調(diào)度方式有分頁式、段式、段頁式3種。頁式調(diào)度是將邏輯和物理地址空間都分成固定大小的頁。主存按頁順序編號,而每個獨立編址的程序空間有自己的頁號順序,通過調(diào)度輔存中程序的各頁可以離散裝入主存中不同的頁面位置,并可據(jù)表一一對應(yīng)檢索。頁式調(diào)度的優(yōu)點是頁內(nèi)零頭小,頁表對程序員來說是透明的,地址變換快,調(diào)入操作簡單;缺點是各頁不是程序的獨立模塊,不便于實現(xiàn)程序和數(shù)據(jù)的保護(hù)。段式調(diào)度是按程序的邏輯結(jié)構(gòu)劃分地址空間,段的長度是隨意的,并且允許伸長,它的優(yōu)點是消除了內(nèi)存零頭,易于實現(xiàn)存儲保護(hù),便于程序動態(tài)裝配;缺點是調(diào)入操作復(fù)雜。將這兩種方法結(jié)合起來便構(gòu)成段頁式調(diào)度。在段頁式調(diào)度中把物理空間分成頁,程序按模塊分段,每個段再分成與物理空間頁同樣小的頁面。段頁式調(diào)度綜合了段式和頁式的優(yōu)點。其缺點是增加了硬件成本,軟件也較復(fù)雜。大型通用計算機系統(tǒng)多數(shù)采用段頁式調(diào)度。
虛擬內(nèi)存不足原因
【1】、感染病毒:有些病毒發(fā)作時會占用大量內(nèi)存空間,導(dǎo)致系統(tǒng)出現(xiàn)內(nèi)存不足問題。
【2】、虛擬內(nèi)存設(shè)置不當(dāng):通常,應(yīng)設(shè)置為物理內(nèi)存大小的2倍。若設(shè)置過小,則會影響系統(tǒng)程序的正常運行。此時便需重設(shè)虛擬內(nèi)存數(shù)值,以“Windows XP”為例,右擊“我的電腦”,選擇“屬性”,在“高級”標(biāo)簽頁點擊“性能”框中的“設(shè)置”按鈕,切換至“高級”標(biāo)簽頁,后在“虛擬內(nèi)存”框中點擊“更改”按鈕,接著重設(shè)虛擬內(nèi)存數(shù)值,再點“設(shè)置”并“確定”,完后重啟系統(tǒng)即可。
【3】、系統(tǒng)盤空間不足:在默認(rèn)情況下,虛擬內(nèi)存是以名為“Pagefile.sys”的交換文件存于硬盤的系統(tǒng)分區(qū)中。若系統(tǒng)盤剩余容量過小,即會出現(xiàn)該問題。系統(tǒng)盤至少應(yīng)留有300MB的可用空間,當(dāng)然此數(shù)值需據(jù)用戶的實際需要而定。盡量不要將各種應(yīng)用軟件裝在系統(tǒng)盤,以保證有足夠的空間供虛擬內(nèi)存文件使用,且最好將虛擬內(nèi)存文件安放至非系統(tǒng)盤內(nèi)。
【4】、System用戶權(quán)限設(shè)置不當(dāng):基于NT內(nèi)核的Windows系統(tǒng)啟動時,System用戶會為系統(tǒng)創(chuàng)建虛擬內(nèi)存文件。有些用戶為了系統(tǒng)的安全,采用NTFS文件系統(tǒng),但卻取消了System用戶在系統(tǒng)盤“寫入”和“修改”的權(quán)限,這樣就無法為系統(tǒng)創(chuàng)建虛擬內(nèi)存文件,運行大型程序時,也會出現(xiàn)此類問題。對策:重新賦予System用戶“寫入”和“修改”的權(quán)限即可。(注:該僅限于使用NTFS文件系統(tǒng)的用戶。)
虛擬內(nèi)存使用技巧
對于虛擬內(nèi)存如何設(shè)置的問題,微軟已經(jīng)給我們提供了官方的解決辦法,對于一般情況下,我們推薦采用如下的設(shè)置方法:
頁面文件,文件的大小由你對系統(tǒng)的設(shè)置決定。具體設(shè)置方法如下:打開"我的電腦"的"屬性"設(shè)置窗口,切換到"高級"選項卡,在"啟動和故障恢復(fù)"窗口的"寫入調(diào)試信息"欄,如果你采用的是試和錯誤報告了。所以折中的辦法是在系統(tǒng)盤設(shè)置較小的頁面文件,只要夠用就行了。
內(nèi)存,其最小值設(shè)置為物理內(nèi)存的1.5倍,最大值設(shè)置為物理內(nèi)存的3倍,該分區(qū)專門用來存儲頁面文件,不要再存放其它任何文件。之所以單獨劃分一個分區(qū)用來設(shè)置虛擬內(nèi)存,主要是基于兩點考慮:其一,由于該分區(qū)上沒有其它文件,這樣分區(qū)不會產(chǎn)生磁盤碎片,這樣能保證頁面文件的數(shù)據(jù)讀寫不受磁盤碎片的干擾;其二,按照Windows對內(nèi)存的管理技術(shù),Windows會優(yōu)先使用不經(jīng)常訪問的分區(qū)上的頁面文件,這樣也減少了讀取系統(tǒng)盤里的頁面文件的機會,減輕了系統(tǒng)盤的壓力。
頁面文件,則其它硬盤分區(qū)不設(shè)置任何頁面文件。因為過多的分區(qū)設(shè)置頁面文件,這樣會導(dǎo)致,硬盤磁頭反復(fù)的在不同的分區(qū)來回讀取。這樣既耽誤了系統(tǒng)速率,也會減少硬盤的壽命。當(dāng)然,如果你有多個硬盤,則可以為每個硬盤都創(chuàng)建一個頁面文件。當(dāng)信息分布在多個頁面文件上時,硬盤控制器可以同時在多個硬盤上執(zhí)行讀取和寫入操作。這樣系統(tǒng)性能將得到提高。
需要注意!設(shè)置過大的虛擬內(nèi)存將導(dǎo)致關(guān)機過慢甚至幾十分鐘,例如2G電腦設(shè)置16G虛擬內(nèi)存雖然增加了電腦性能但是關(guān)機可能需要幾分鐘。
看過“虛擬內(nèi)存工作原理”的人還看了: