到底什么是虛擬內(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ù),即勻出一部分硬盤空間來充當(dāng)內(nèi)存使用。
2.當(dāng)內(nèi)存耗盡時(shí),電腦就會(huì)自動(dòng)調(diào)用硬盤來充當(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)到稱為“分頁文件”的空間中。將數(shù)據(jù)移入分頁文件可釋放RAM,以便完成工作。一般而言,計(jì)算機(jī)的RAM容量越大,程序運(yùn)行得越快。
4.若計(jì)算機(jī)的速率由于RAM可用空間匱乏而減緩,則可嘗試通過增加虛擬內(nè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è)碩大無比的文件,文件名是PageFile.Sys,通常狀態(tài)下是看不到的。必須關(guān)閉資源管理器對(duì)系統(tǒng)文件的保護(hù)功能才能看到這個(gè)文件。虛擬內(nèi)存有時(shí)候也被稱為是“頁面文件”就是從這個(gè)文件的文件名中來的。
二、虛擬存儲(chǔ)地址變換
虛擬存儲(chǔ)器地址變換基本上有3種形虛擬存儲(chǔ)器工作過程式:全聯(lián)想變換、直接變換和組聯(lián)想變換。任何邏輯空間頁面能夠變換到物理空間任何頁面位置的方式稱為全聯(lián)想變換。每個(gè)邏輯空間頁面只能變換到物理空間一個(gè)特定頁面的方式稱為直接變換。組聯(lián)想變換是指各組之間是直接變換,而組內(nèi)各頁間則是全聯(lián)想變換。替換規(guī)則用來確定替換主存中哪一部分,以便騰空部分主存,存放來自輔存要調(diào)入的那部分內(nèi)容。常見的替換算法有4種。
①隨機(jī)算法:用軟件或硬件隨機(jī)數(shù)產(chǎn)生器確定替換的頁面。
②先進(jìn)先出:先調(diào)入主存的頁面先替換。
③近期最少使用算法(LRU,Least Recently Used):替換最長時(shí)間不用的頁面。
④最優(yōu)算法:替換最長時(shí)間以后才使用的頁面。這是理想化的算法,只能作為衡量其他各種算法優(yōu)劣的標(biāo)準(zhǔn)。
虛擬存儲(chǔ)器的效率是系統(tǒng)性能評(píng)價(jià)的重要內(nèi)容,它與主存容量、頁面大小、命中率,程序局部性和替換算法等因素有關(guān)。
三、虛擬內(nèi)存有什么用
內(nè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)用硬盤的空間,用來暫時(shí)替代不夠的內(nèi)存工作。由于虛擬內(nèi)存用的是硬盤空間,硬盤的讀寫速度要遠(yuǎn)遠(yuǎn)低于真正的內(nèi)存,所以設(shè)置過大虛擬內(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)行的程序超過內(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)存就是在你硬盤的空間里面劃分出來一部分作為內(nèi)存用,可以自己在我的電腦里面設(shè)置的,當(dāng)然也就會(huì)影響電腦的速度。
以上便是此次帶來的虛擬內(nèi)存相關(guān)內(nèi)容,通過本文,希望大家對(duì)虛擬內(nèi)存已經(jīng)具備一定的了解。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,將于后期帶來更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!