虛擬存儲(chǔ)器有什么好處?虛擬存儲(chǔ)器對(duì)換技術(shù)介紹
存儲(chǔ)器有很多具體的類別,比如說(shuō)高速緩沖存儲(chǔ)器、隨機(jī)存取存儲(chǔ)器、只讀存儲(chǔ)器、半導(dǎo)體存儲(chǔ)器等等。為增進(jìn)大家對(duì)存儲(chǔ)器的認(rèn)識(shí),本文將對(duì)虛擬存儲(chǔ)器、虛擬存儲(chǔ)器對(duì)換技術(shù)、虛擬存儲(chǔ)器限制予以介紹。如果你對(duì)虛擬存儲(chǔ)器具有興趣,不妨繼續(xù)往下閱讀哦。
一、什么是虛擬存儲(chǔ)器
虛擬存儲(chǔ)器(Virtual Memory):在具有層次結(jié)構(gòu)存儲(chǔ)器的計(jì)算機(jī)系統(tǒng)中,自動(dòng)實(shí)現(xiàn)部分裝入和部分替換功能,能從邏輯上為用戶提供一個(gè)比物理貯存容量大得多,可尋址的“主存儲(chǔ)器”。虛擬存儲(chǔ)區(qū)的容量與物理主存大小無(wú)關(guān),而受限于計(jì)算機(jī)的地址結(jié)構(gòu)和可用磁盤(pán)容量。根據(jù)所用的存儲(chǔ)器映像算法,虛擬存儲(chǔ)器管理方式主要有段式、頁(yè)式、和段頁(yè)式三種。
虛擬存儲(chǔ)器(VirtualMemory)是用戶能作為可編址內(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)定位。
二、引入虛擬存儲(chǔ)器的好處
①用戶編制程序時(shí)不必考慮內(nèi)存容量的限制,只要按照實(shí)際問(wèn)題的需要來(lái)確定合適的算法和數(shù)據(jù)結(jié)構(gòu)就可簡(jiǎn)化程序設(shè)計(jì)的任務(wù)。
②由于每個(gè)進(jìn)程只有一部分裝入內(nèi)存,因而占用內(nèi)存空間較少,在一定容量的內(nèi)存中就可同時(shí)裝入更多的進(jìn)程,也相應(yīng)增加了CPU的利用率和系統(tǒng)的吞吐量。
為了給用戶(特別是大作業(yè)用戶)提供方便,操作系統(tǒng)應(yīng)把各級(jí)存儲(chǔ)器統(tǒng)一管理起來(lái)。就是說(shuō),應(yīng)該把一個(gè)程序當(dāng)前正在使用的部分放在內(nèi)存中,而其余部分放在磁盤(pán)上,在這種情況下啟動(dòng)進(jìn)程執(zhí)行。操作系統(tǒng)根據(jù)程序執(zhí)行時(shí)的要求和內(nèi)存的實(shí)際使用情況,使用對(duì)換技術(shù)隨機(jī)地對(duì)每個(gè)程序進(jìn)行換入/換出。
三、虛擬存儲(chǔ)器對(duì)換技術(shù)
對(duì)換技術(shù)也稱作交換技術(shù)。它的實(shí)現(xiàn)方式就類似于日常生活中幾個(gè)單位租用一個(gè)會(huì)議廳那樣,甲單位租用時(shí)間到了,就退出會(huì)議廳,由乙單位使用;乙單位到時(shí)后,也退出去,由丙單位使用,等等。如甲單位還需使用,就再租用,由管理者安排占用時(shí)間。
多道程序環(huán)境中也采用對(duì)換技術(shù)。此時(shí),內(nèi)存中保留多個(gè)進(jìn)程。當(dāng)內(nèi)存空間不足以容納要求進(jìn)入內(nèi)存的進(jìn)程時(shí),系統(tǒng)就把內(nèi)存中暫時(shí)不能運(yùn)行的進(jìn)程(包括程序和數(shù)據(jù))換出到外存上,騰出內(nèi)存空間,把具備運(yùn)行條件的進(jìn)程從外存換到內(nèi)存中。在UNIX/Linux系統(tǒng)中對(duì)內(nèi)存的管理就利用了這種多道程序的對(duì)換技術(shù)。
四、虛擬存儲(chǔ)器限制
應(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ú)限大。
以上就是小編這次想要和大家分享的有關(guān)的虛擬存儲(chǔ)器的內(nèi)容,希望大家對(duì)本次分享的內(nèi)容已經(jīng)具有一定的了解。如果您想要看不同類別的文章,可以在網(wǎng)頁(yè)頂部選擇相應(yīng)的頻道哦。





