存儲器有很多具體的類別,比如說高速緩沖存儲器、隨機存取存儲器、只讀存儲器、半導體存儲器等等。為增進大家對存儲器的認識,本文將對虛擬存儲器、虛擬存儲器對換技術、虛擬存儲器限制予以介紹。如果你對虛擬存儲器具有興趣,不妨繼續(xù)往下閱讀哦。
一、什么是虛擬存儲器
虛擬存儲器(Virtual Memory):在具有層次結構存儲器的計算機系統(tǒng)中,自動實現(xiàn)部分裝入和部分替換功能,能從邏輯上為用戶提供一個比物理貯存容量大得多,可尋址的“主存儲器”。虛擬存儲區(qū)的容量與物理主存大小無關,而受限于計算機的地址結構和可用磁盤容量。根據(jù)所用的存儲器映像算法,虛擬存儲器管理方式主要有段式、頁式、和段頁式三種。
虛擬存儲器(VirtualMemory)是用戶能作為可編址內存對待的虛擬存儲空間,它使用戶邏輯存儲器與物理存儲器分離,是操作系統(tǒng)給用戶提供的一個比真實內存空間大得多的地址空間。就是說,虛擬存儲器并不是實際的內存,它的大小比內存空間大得多;用戶感覺所能使用的“內存”非常大,這是操作系統(tǒng)對邏輯內存的擴充。
實現(xiàn)虛擬存儲技術的物質基礎是二級存儲器結構和動態(tài)地址轉換機構。經過操作系統(tǒng)的改造,將內存和外存有機地聯(lián)系在一起,在用戶面前呈現(xiàn)一個足以滿足編程需要的特大內存空間。
虛擬存儲器實質上是把用戶地址空間和實際的存儲空間區(qū)分開來,當作兩個不同的概念。動態(tài)地址轉換機構在程序運行時把邏輯地址轉換成物理地址,以實現(xiàn)動態(tài)定位。
二、引入虛擬存儲器的好處
①用戶編制程序時不必考慮內存容量的限制,只要按照實際問題的需要來確定合適的算法和數(shù)據(jù)結構就可簡化程序設計的任務。
②由于每個進程只有一部分裝入內存,因而占用內存空間較少,在一定容量的內存中就可同時裝入更多的進程,也相應增加了CPU的利用率和系統(tǒng)的吞吐量。
為了給用戶(特別是大作業(yè)用戶)提供方便,操作系統(tǒng)應把各級存儲器統(tǒng)一管理起來。就是說,應該把一個程序當前正在使用的部分放在內存中,而其余部分放在磁盤上,在這種情況下啟動進程執(zhí)行。操作系統(tǒng)根據(jù)程序執(zhí)行時的要求和內存的實際使用情況,使用對換技術隨機地對每個程序進行換入/換出。
三、虛擬存儲器對換技術
對換技術也稱作交換技術。它的實現(xiàn)方式就類似于日常生活中幾個單位租用一個會議廳那樣,甲單位租用時間到了,就退出會議廳,由乙單位使用;乙單位到時后,也退出去,由丙單位使用,等等。如甲單位還需使用,就再租用,由管理者安排占用時間。
多道程序環(huán)境中也采用對換技術。此時,內存中保留多個進程。當內存空間不足以容納要求進入內存的進程時,系統(tǒng)就把內存中暫時不能運行的進程(包括程序和數(shù)據(jù))換出到外存上,騰出內存空間,把具備運行條件的進程從外存換到內存中。在UNIX/Linux系統(tǒng)中對內存的管理就利用了這種多道程序的對換技術。
四、虛擬存儲器限制
應注意,虛擬存儲器雖然給用戶提供了特大地址空間,用戶在編程時一般不必考慮可用空間有多大,但虛擬存儲器的容量不是無限大的。它主要受到兩方面的限制:
①指令中表示地址的字長。機器指令中表示地址的二進制位數(shù)是有限的,如果地址單元以字節(jié)編址,且表示地址的字長是16位,則可以表示的地址空間最大是64KB。如果表示地址的字長是32位,則可以表示的地址空間最大是4GB。
②外存的容量。從實現(xiàn)觀點來看,用戶的程序和數(shù)據(jù)都必須完整地保存在外存(如硬盤)中。然而,外存容量、傳送速度和使用頻率等方面都受到物理因素的限制。就是說,磁盤的容量有限,并非真正“無窮大”,其傳送速度也不是“無限快”,所以,虛擬空間不可能無限大。
以上就是小編這次想要和大家分享的有關的虛擬存儲器的內容,希望大家對本次分享的內容已經具有一定的了解。如果您想要看不同類別的文章,可以在網(wǎng)頁頂部選擇相應的頻道哦。