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