到底什么是虛擬內(nèi)存?虛擬內(nèi)存有哪些作用?
虛擬內(nèi)存是計(jì)算機(jī)中的重要組成器件,虛擬內(nèi)存可以暫時(shí)保存程序運(yùn)行時(shí)的數(shù)據(jù)。為增進(jìn)大家對(duì)虛擬內(nèi)存的認(rèn)識(shí),本文將對(duì)虛擬內(nèi)存、虛擬內(nèi)存存儲(chǔ)地址的變換以及虛擬內(nèi)存的作用予以介紹。如果你對(duì)虛擬內(nèi)存具有興趣,不妨繼續(xù)往下閱讀哦。
一、虛擬內(nèi)存是什么
虛擬內(nèi)存是計(jì)算機(jī)系統(tǒng)內(nèi)存管理的一種技術(shù)。它使得應(yīng)用程序認(rèn)為它擁有連續(xù)的可用的內(nèi)存(一個(gè)連續(xù)完整的地址空間),而實(shí)際上,它通常是被分隔成多個(gè)物理內(nèi)存碎片,還有部分暫時(shí)存儲(chǔ)在外部磁盤存儲(chǔ)器上,在需要時(shí)進(jìn)行數(shù)據(jù)交換。目前,大多數(shù)操作系統(tǒng)都使用了虛擬內(nèi)存,如Windows家族的“虛擬內(nèi)存”;Linux的“交換空間”等。
1.虛擬內(nèi)存別稱虛擬存儲(chǔ)器(VirtualMemory)。電腦中所運(yùn)行的程序均需經(jīng)由內(nèi)存執(zhí)行,若執(zhí)行的程序占用內(nèi)存很大或很多,則會(huì)導(dǎo)致內(nèi)存消耗殆盡。為解決該問題,Windows中運(yùn)用了虛擬內(nèi)存技術(shù),即勻出一部分硬盤空間來(lái)充當(dāng)內(nèi)存使用。
2.當(dāng)內(nèi)存耗盡時(shí),電腦就會(huì)自動(dòng)調(diào)用硬盤來(lái)充當(dāng)內(nèi)存,以緩解內(nèi)存的緊張。若計(jì)算機(jī)運(yùn)行程序或操作所需的隨機(jī)存儲(chǔ)器(RAM)不足時(shí),則Windows會(huì)用虛擬存儲(chǔ)器進(jìn)行補(bǔ)償。它將計(jì)算機(jī)的RAM和硬盤上的臨時(shí)空間組合。
3.當(dāng)RAM運(yùn)行速率緩慢時(shí),它便將數(shù)據(jù)從RAM移動(dòng)到稱為“分頁(yè)文件”的空間中。將數(shù)據(jù)移入分頁(yè)文件可釋放RAM,以便完成工作。一般而言,計(jì)算機(jī)的RAM容量越大,程序運(yùn)行得越快。
4.若計(jì)算機(jī)的速率由于RAM可用空間匱乏而減緩,則可嘗試通過(guò)增加虛擬內(nèi)存來(lái)進(jìn)行補(bǔ)償。但是,計(jì)算機(jī)從RAM讀取數(shù)據(jù)的速率要比從硬盤讀取數(shù)據(jù)的速率快,因而擴(kuò)增RAM容量(可加內(nèi)存條)是最佳選擇。
5.虛擬內(nèi)存是Windows為作為內(nèi)存使用的一部分硬盤空間。虛擬內(nèi)存在硬盤上其實(shí)就是為一個(gè)碩大無(wú)比的文件,文件名是PageFile.Sys,通常狀態(tài)下是看不到的。必須關(guān)閉資源管理器對(duì)系統(tǒng)文件的保護(hù)功能才能看到這個(gè)文件。虛擬內(nèi)存有時(shí)候也被稱為是“頁(yè)面文件”就是從這個(gè)文件的文件名中來(lái)的。
二、虛擬存儲(chǔ)地址變換
虛擬存儲(chǔ)器地址變換基本上有3種形虛擬存儲(chǔ)器工作過(guò)程式:全聯(lián)想變換、直接變換和組聯(lián)想變換。任何邏輯空間頁(yè)面能夠變換到物理空間任何頁(yè)面位置的方式稱為全聯(lián)想變換。每個(gè)邏輯空間頁(yè)面只能變換到物理空間一個(gè)特定頁(yè)面的方式稱為直接變換。組聯(lián)想變換是指各組之間是直接變換,而組內(nèi)各頁(yè)間則是全聯(lián)想變換。替換規(guī)則用來(lái)確定替換主存中哪一部分,以便騰空部分主存,存放來(lái)自輔存要調(diào)入的那部分內(nèi)容。常見的替換算法有4種。
①隨機(jī)算法:用軟件或硬件隨機(jī)數(shù)產(chǎn)生器確定替換的頁(yè)面。
②先進(jìn)先出:先調(diào)入主存的頁(yè)面先替換。
③近期最少使用算法(LRU,Least Recently Used):替換最長(zhǎng)時(shí)間不用的頁(yè)面。
④最優(yōu)算法:替換最長(zhǎng)時(shí)間以后才使用的頁(yè)面。這是理想化的算法,只能作為衡量其他各種算法優(yōu)劣的標(biāo)準(zhǔn)。
虛擬存儲(chǔ)器的效率是系統(tǒng)性能評(píng)價(jià)的重要內(nèi)容,它與主存容量、頁(yè)面大小、命中率,程序局部性和替換算法等因素有關(guān)。
三、虛擬內(nèi)存有什么用
內(nèi)存主要是用來(lái)臨時(shí)存貯數(shù)據(jù),比如電腦中調(diào)用的數(shù)據(jù),就需要從硬盤讀出,發(fā)給內(nèi)存,然后內(nèi)存再發(fā)給CPU,虛擬內(nèi)存一般是用在內(nèi)存不足的情況下,系統(tǒng)自動(dòng)調(diào)用硬盤的空間,用來(lái)暫時(shí)替代不夠的內(nèi)存工作。由于虛擬內(nèi)存用的是硬盤空間,硬盤的讀寫速度要遠(yuǎn)遠(yuǎn)低于真正的內(nèi)存,所以設(shè)置過(guò)大虛擬內(nèi)存會(huì)影響你計(jì)算機(jī)的速度,并且虛擬內(nèi)存最好是設(shè)置成你不經(jīng)常用的磁盤分區(qū)上,因?yàn)椴唤?jīng)常用的分區(qū)碎片少,磁頭讀寫順暢,相對(duì)較快。
內(nèi)存的大小直接決定我們的電腦可運(yùn)行程序的多少,當(dāng)運(yùn)行的程序超過(guò)內(nèi)存大小時(shí)系統(tǒng)會(huì)變卡。而虛擬內(nèi)存的出現(xiàn)就在一定程度上擴(kuò)展了內(nèi)存的大小,讓電腦能運(yùn)行更多的程序。
你運(yùn)行一個(gè)程序的時(shí)候,除了最常用的數(shù)據(jù)直接放在cpu緩存以外,別的相對(duì)少用的數(shù)據(jù)就放在你的內(nèi)存里面,再其次相對(duì)少用的就放在你的虛擬內(nèi)存里面,虛擬內(nèi)存就是在你硬盤的空間里面劃分出來(lái)一部分作為內(nèi)存用,可以自己在我的電腦里面設(shè)置的,當(dāng)然也就會(huì)影響電腦的速度。
以上便是此次帶來(lái)的虛擬內(nèi)存相關(guān)內(nèi)容,通過(guò)本文,希望大家對(duì)虛擬內(nèi)存已經(jīng)具備一定的了解。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,將于后期帶來(lái)更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!