-
1 # 我是汪大姐呢
-
2 # 燦爛雪碧5Q
虛擬儲存器是儲存管理中一個特別重要的概念,你要認真掌握虛存的定義和特徵。此外,你還要知道為何要引入虛存、實現虛存技術的物質基礎、虛存容量受到哪兩方面的限制。
虛擬儲存器的概念
(1)引入虛擬儲存器的好處
①使用者編制程式時不必考慮記憶體容量的限制,只要按照實際問題的需要來確定合適的演算法和資料結構就可簡化程式設計的任務。
②由於每個程序只有一部分裝入記憶體,因而佔用記憶體空間較少,在一定容量的記憶體中就可同時裝入更多的程序,也相應增加了CPU的利用率和系統的吞吐量。
為了給使用者(特別是大作業使用者)提供方便,作業系統應把各級儲存器統一管理起來。就是說,應該把一個程式當前正在使用的部分放在記憶體中,而其餘部分放在磁碟上,在這種情況下啟動程序執行。作業系統根據程式執行時的要求和記憶體的實際使用情況,使用對換技術隨機地對每個程式進行換入/換出。
(2)對換技術
對換技術也稱作交換技術。它的實現方式就類似於日常生活中幾個單位租用一個會議廳那樣,甲單位租用時間到了,就退出會議廳,由乙單位使用;乙單位到時後,也退出去,由丙單位使用,等等。如甲單位還需使用,就再租用,由管理者安排佔用時間。
多道程式環境中也採用對換技術。此時,記憶體中保留多個程序。當記憶體空間不足以容納要求進入記憶體的程序時,系統就把記憶體中暫時不能執行的程序(包括程式和資料)換出到外存上,騰出記憶體空間,把具備執行條件的程序從外存換到記憶體中。在UNIX/Linux系統中對記憶體的管理就利用了這種多道程式的對換技術。
(3)虛擬儲存器的概念
虛擬儲存器(VirtualMemory)是使用者能作為可編址記憶體對待的虛擬儲存空間,它使使用者邏輯儲存器與物理儲存器分離,是作業系統給使用者提供的一個比真實記憶體空間大得多的地址空間。就是說,虛擬儲存器並不是實際的記憶體,它的大小比記憶體空間大得多;使用者感覺所能使用的“記憶體”非常大,這是作業系統對邏輯記憶體的擴充。
實現虛擬儲存技術的物質基礎是二級儲存器結構和動態地址轉換機構。經過作業系統的改造,將記憶體和外存有機地聯絡在一起,在使用者面前呈現一個足以滿足程式設計需要的特大記憶體空間。
虛擬儲存器實質上是把使用者地址空間和實際的儲存空間區分開來,當作兩個不同的概念。動態地址轉換機構在程式執行時把邏輯地址轉換成物理地址,以實現動態定位。
應注意,虛擬儲存器雖然給使用者提供了特大地址空間,使用者在程式設計時一般不必考慮可用空間有多大,但虛擬儲存器的容量不是無限大的。它主要受到兩方面的限制:
①指令中表示地址的字長。機器指令中表示地址的二進位制位數是有限的,如果地址單元以位元組編址,且表示地址的字長是16位,則可以表示的地址空間最大是64KB。如果表示地址的字長是32位,則可以表示的地址空間最大是4GB。
②外存的容量。從實現觀點來看,使用者的程式和資料都必須完整地儲存在外存(如硬碟)中。然而,外存容量、傳送速度和使用頻率等方面都受到物理因素的限制。就是說,磁碟的容量有限,並非真正“無窮大”,其傳送速度也不是“無限快”,所以,虛擬空間不可能無限大。
虛擬儲存器的特徵
虛擬儲存器的特徵可以用16個字來概括:虛擬擴充、部分裝入、離散分配、多次對換。
對於虛擬儲存器這個基本概念應從以下4個方面進行理解,這些也是虛擬儲存器所具有的基本特徵:
①虛擬擴充
虛擬儲存器不是擴大物理記憶體空間,而是擴充邏輯記憶體容量。就是說,使用者程式設計時所用到的地址空間可以遠大於實際記憶體的容量。例如,實際記憶體只有1MB,而使用者程式和資料所用的空間卻可以達到10MB或者更多。所以,使用者“感覺”記憶體擴大了。
②部分裝入
每個程序不是全部一次性地裝入記憶體,而是分成若干部分。當程序要執行時,只需將當前執行需要用到的那部分程式和資料裝入記憶體。以後在執行過程中用到其他部分時,再分別把那些部分從外存調入記憶體。
③離散分配
一個程序分成多個部分,它們沒有被全部裝入記憶體。即使裝入記憶體的那部分也不必佔用連續的記憶體空間。這樣,一個程序在記憶體的部分可能散佈在記憶體的不同地方,彼此並不連續。這樣做,不僅可避免記憶體空間的浪費,而且為程序動態調入記憶體提供方便。
④多次對換
在一個程序執行期間,它所需的全部程式和資料分成多次調入記憶體。每次調入一部分,只解決當前需要,而在記憶體的那些暫時不被使用的程式和資料,可換出到外存的對換區;甚至把暫時不能執行的程序在記憶體的全部映像都換出到對換區,以騰出儘量多的記憶體空間供可執行的程序使用。被調出的程式和資料在需要時可以重新調入記憶體中。
虛擬儲存器根據地址空間的結構不同可以分為分頁虛擬儲存器和分段虛擬儲存器兩類。本課程只介紹分頁虛擬儲存器。
回覆列表
虛擬儲存器:具有層次結構儲存器計算機系統自動實現部分裝入和部分替換功能能從邏輯上使用者提供比物理貯存容量大得多定址主儲存器虛擬儲存區容量與物理主存大小無關而受限於計算機地址結構和用磁碟容量 特點:虛擬記憶體作用 記憶體計算機作用大電腦所有執行程式都需要經過記憶體來執行執行程式大或多會導致記憶體消耗殆盡瞭解決問題Windows運用了虛擬記憶體技術即拿出部分硬碟空間來充當記憶體使用當記憶體佔用完時電腦會自動呼叫硬碟來充當記憶體緩解記憶體緊張。