虛擬存儲(chǔ)器(Virtual Memory)是用戶能作為可編址內(nèi)存對(duì)待的虛擬存儲(chǔ)空間,它使用戶邏輯存儲(chǔ)器與物理存儲(chǔ)器分離,是操作系統(tǒng)給用戶提供的一個(gè)比真實(shí)內(nèi)存空間大得多的地址空間。就是說(shuō),虛擬存儲(chǔ)器并不是實(shí)際的內(nèi)存,它的大小比內(nèi)存空間大得多;用戶感覺(jué)所能使用的“內(nèi)存”非常大,這是操作系統(tǒng)對(duì)邏輯內(nèi)存的擴(kuò)充。
實(shí)現(xiàn)虛擬存儲(chǔ)技術(shù)的物質(zhì)基礎(chǔ)是二級(jí)存儲(chǔ)器結(jié)構(gòu)和動(dòng)態(tài)地址轉(zhuǎn)換機(jī)構(gòu)。經(jīng)過(guò)操作系統(tǒng)的改造,將內(nèi)存和外存有機(jī)地聯(lián)系在一起,在用戶面前呈現(xiàn)一個(gè)足以滿足編程需要的特大內(nèi)存空間。
虛擬存儲(chǔ)器實(shí)質(zhì)上是把用戶地址空間和實(shí)際的存儲(chǔ)空間區(qū)分開(kāi)來(lái),當(dāng)作兩個(gè)不同的概念。動(dòng)態(tài)地址轉(zhuǎn)換機(jī)構(gòu)在程序運(yùn)行時(shí)把邏輯地址轉(zhuǎn)換成物理地址,以實(shí)現(xiàn)動(dòng)態(tài)定位。
應(yīng)注意,虛擬存儲(chǔ)器雖然給用戶提供了特大地址空間,用戶在編程時(shí)一般不必考慮可用空間有多大,但虛擬存儲(chǔ)器的容量不是無(wú)限大的。它主要受到兩方面的限制:
① 指令中表示地址的字長(zhǎng)。機(jī)器指令中表示地址的二進(jìn)制位數(shù)是有限的,如果地址單元以字節(jié)編址,且表示地址的字長(zhǎng)是16位,則可以表示的地址空間最大是64KB。如果表示地址的字長(zhǎng)是32位,則可以表示的地址空間最大是4GB。
② 外存的容量。從實(shí)現(xiàn)觀點(diǎn)來(lái)看,用戶的程序和數(shù)據(jù)都必須完整地保存在外存(如硬盤(pán))中。然而,外存容量、傳送速度和使用頻率等方面都受到物理因素的限制。就是說(shuō),磁盤(pán)的容量有限,并非真正“無(wú)窮大”,其傳送速度也不是“無(wú)限快”,所以,虛擬空間不可能無(wú)限大。
虛擬存儲(chǔ)器的特征
虛擬存儲(chǔ)器的特征可以用16個(gè)字來(lái)概括:虛擬擴(kuò)充、部分裝入、離散分配、多次對(duì)換。
對(duì)于虛擬存儲(chǔ)器這個(gè)基本概念應(yīng)從以下4個(gè)方面進(jìn)行理解,這些也是虛擬存儲(chǔ)器所具有的基本特征:
① 虛擬擴(kuò)充
虛擬存儲(chǔ)器不是擴(kuò)大物理內(nèi)存空間,而是擴(kuò)充邏輯內(nèi)存容量。就是說(shuō),用戶編程時(shí)所用到的地址空間可以遠(yuǎn)大于實(shí)際內(nèi)存的容量。例如,實(shí)際內(nèi)存只有1MB,而用戶程序和數(shù)據(jù)所用的空間卻可以達(dá)到10MB或者更多。所以,用戶“感覺(jué)”內(nèi)存擴(kuò)大了。
② 部分裝入
每個(gè)進(jìn)程不是全部一次性地裝入內(nèi)存,而是分成若干部分。當(dāng)進(jìn)程要執(zhí)行時(shí),只需將當(dāng)前運(yùn)行需要用到的那部分程序和數(shù)據(jù)裝入內(nèi)存。以后在運(yùn)行過(guò)程中用到其他部分時(shí),再分別把那些部分從外存調(diào)入內(nèi)存。
③ 離散分配
一個(gè)進(jìn)程分成多個(gè)部分,它們沒(méi)有被全部裝入內(nèi)存。即使裝入內(nèi)存的那部分也不必占用連續(xù)的內(nèi)存空間。這樣,一個(gè)進(jìn)程在內(nèi)存的部分可能散布在內(nèi)存的不同地方,彼此并不連續(xù)。這樣做,不僅可避免內(nèi)存空間的浪費(fèi),而且為進(jìn)程動(dòng)態(tài)調(diào)入內(nèi)存提供方便。
④ 多次對(duì)換
在一個(gè)進(jìn)程運(yùn)行期間,它所需的全部程序和數(shù)據(jù)分成多次調(diào)入內(nèi)存。每次調(diào)入一部分,只解決當(dāng)前需要,而在內(nèi)存的那些暫時(shí)不被使用的程序和數(shù)據(jù),可換出到外存的對(duì)換區(qū);甚至把暫時(shí)不能運(yùn)行的進(jìn)程在內(nèi)存的全部映像都換出到對(duì)換區(qū),以騰出盡量多的內(nèi)存空間供可運(yùn)行的進(jìn)程使用。被調(diào)出的程序和數(shù)據(jù)在需要時(shí)可以重新調(diào)入內(nèi)存中。
虛擬存儲(chǔ)器根據(jù)地址空間的結(jié)構(gòu)不同可以分為分頁(yè)虛擬存儲(chǔ)器和分段虛擬存儲(chǔ)器兩類(lèi)。
責(zé)任編輯人:CC
-
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7530瀏覽量
164396 -
虛擬儀器
+關(guān)注
關(guān)注
23文章
775瀏覽量
87460 -
虛擬存儲(chǔ)器
+關(guān)注
關(guān)注
0文章
12瀏覽量
8801
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
ARM的存儲(chǔ)器映射與存儲(chǔ)器重映射
閃速存儲(chǔ)器的分類(lèi)及特征
虛擬存儲(chǔ)器組成部分
Flash存儲(chǔ)器的故障特征
存儲(chǔ)器虛擬化的不同形式解析
一文知道存儲(chǔ)器的未來(lái)體制
一文知道什么是EPROM和EEPROM存儲(chǔ)器
一文詳解存儲(chǔ)器的類(lèi)型
什么是虛擬存儲(chǔ)器,虛擬存儲(chǔ)器的特征
虛擬存儲(chǔ)器簡(jiǎn)述
![<b class='flag-5'>虛擬</b><b class='flag-5'>存儲(chǔ)器</b>簡(jiǎn)述](https://file1.elecfans.com/web2/M00/8B/AE/wKgZomSdISiAaswJAAA4jcptZms251.png)
評(píng)論