2017年全國計算機考試四級復習綱要:虛擬存儲的概念、作用和工作過程

字號:

5.虛擬存儲的概念、作用和工作過程
     (1)虛擬存儲的概念、作用
     一般將由主存和部分輔存組成的存儲結(jié)構(gòu)稱為虛擬存儲器,其對應的存儲地址稱為虛擬地址(邏輯地址),其對應的存儲容量稱為虛擬容量。將實際主存地址稱為物理地址或?qū)嵉刂?,主存的容量稱為實存容量。
     當用虛擬地址訪問主存時,系統(tǒng)首先查看所用虛擬地址對應的單元內(nèi)容是否已裝入主存。如果在主存中,可以**輔助軟、硬件自動把虛擬地址變成主存的物理地址后,對主存相應單元進行訪問。如果不在主存中,**輔助的軟、硬件將虛擬地址對應的內(nèi)容調(diào)入主存中,然后再進行訪問。因此,對虛擬存儲器的每次訪問都必須進行虛實地址的變換。
     虛擬存儲器的作用是擴大整個主存的容量,允許在程序中使用比主存容量大得多的虛擬存儲器。同時可以減輕人們編程中對程度進行分塊的苦惱,從而提高軟件開發(fā)的效率。虛擬存儲器是實現(xiàn)利用小容量的主存運行大規(guī)模的程序的一種有效的辦法。盡管實現(xiàn)虛擬存儲要增加一些額外的投資和軟件開銷,虛擬存儲技術在各種計算機系統(tǒng)中仍得到了廣泛的應用。虛擬存儲器必須建立在主存-輔存結(jié)構(gòu)上,但一般的主存-輔存系統(tǒng)并不一定是虛擬存儲器,虛擬存儲器與一般的主存-輔存系統(tǒng)的本質(zhì)區(qū)別是:
     ①虛擬存儲器允許人們使用比主存容量大得多的地址空間來訪問主存,非虛擬存儲器最多只允許人們使用主存的整個空間,一般只允許使用操作系統(tǒng)分配的主存中的某一部分空間。
     ②虛擬存儲器每次訪問主存時必須進行虛、實地址的變換,而非虛擬存儲系統(tǒng)則不必變換。
     (2)虛擬存儲的工作原理
     虛擬存儲技術,實際上是將編寫程序時所用的虛擬地址(邏輯地址)轉(zhuǎn)換成較小的物理地址。在程序運行時隨時進行這種變換。為了便于主存與輔存之間信息的交換,虛擬存儲器一般采用二維或三維的復合地址格式。采用二維地址格式時,將整個存儲器劃分為若干頁(或段),每個頁(或段)又包括若干存儲單元。采用三維地址格式時將整個存儲空間分為若干段,每段分為若干頁,每頁又包括若干存儲單元。根據(jù)地址格式不同,虛擬存儲器分為:頁式虛擬存儲器、段式虛擬存儲器和段頁式虛擬存儲器。
     在虛擬存儲器中邏輯地址與物理地址之間的對應稱為地址映象。通常有三種地址映象的方式:全相聯(lián)映象、直接映象和組相聯(lián)映象。
     ①全相聯(lián)映象
     任一邏輯頁能映象到實際主存的任意頁面位置稱為全相聯(lián)映象,通常利用頁表法進行地址間的變換。
     ②直接映象
     每個邏輯頁只能映象到一個特定頁面的方式稱為直接映象。如主存實際有2 P 頁,虛擬存儲器的邏輯空間有2 P 頁,則將邏輯空間按物理空間大小分為2 P -P塊,塊內(nèi)各頁只能映象到主存的相應頁中。即所有各塊的第0頁對應主存的第0頁,各塊的第n頁對應主存的第n頁。若程序需要輪流使用第i塊和第j塊的第m頁,只能將兩頁交替在主存和輔存之間調(diào)入調(diào)出,形成存儲頁面的“抖動”。
     ③組相聯(lián)映象 組相聯(lián)映象方法是先按直接映象方法將虛擬存儲空間(邏輯空間)分成若干塊,在主存和邏輯空間中的各塊內(nèi)劃分為若干組,每個組間按直接映象方法控制。可以這樣理解,如果將組相聯(lián)映象方法中的組按直接映象方法的頁來看待,組相聯(lián)方法與直接映象方法相同,邏輯空間各組內(nèi)的頁只能與對應的物理空間組相聯(lián)。但在組內(nèi)各頁與物理空間的頁面之間采用全相聯(lián)映象方法處理。因此,可以認為組相聯(lián)映象是全相聯(lián)映象和直接映象方法的結(jié)合。6.緩沖技術使用
     緩沖技術就是為緩解慢速設備對整個計算機系統(tǒng)速度的影響,在計算機的某些部件中劃定一塊區(qū)域,模擬慢速設備的操作,將對慢速設備的操作先存放在此區(qū)域中,其他部件完成這一操作后可以繼續(xù)其他工作,而慢速設備可以用自己的速度逐漸完成相應的操作。做為中間緩沖的區(qū)域稱為緩沖區(qū),相應的技術稱為緩沖技術。
     在整個存儲體系的組織中,緩沖技術成為解決容量與速度之間矛盾的主要方法。實際上在計算機系統(tǒng)中緩沖技術解決了許多難題,促進了計算機系統(tǒng)的發(fā)展。在存儲體系中,緩沖技術主要體現(xiàn)在Cache的應用和磁盤緩沖的使用。
     (1)Cache的原理和作用Cache的工作原理基于對大量典型程序運行實例的分析。分析結(jié)果表明,在較短的時間間隔內(nèi),由程序產(chǎn)生的地址往往集中在存儲器邏輯地址空間很小的范圍內(nèi)。指令地址的分布又是連續(xù)的,加上循環(huán)程序和子程序段的重復執(zhí)行,對這些地址的訪問自然具有時間上集中分布的傾向。這種對局部范圍的存儲器地址頻繁訪問,對此范圍外的地址訪問甚少的現(xiàn)象稱為程序訪問的局部性。程序訪問的局部性為Cache的引入提供了理論依據(jù)。
     Cache是緩沖技術在存儲體系中的一個具體應用。Cache處于主存與CPU之間,負責解決主存與CPU之間速度的協(xié)調(diào)問題。Cache中存放著主存的一部分副本(主存中的部分內(nèi)容),當存儲器接到有關讀取指令時,先在Cache中查找此信息是否存在,若有則不經(jīng)主存直接從Cache中取出;否則直接從主存中取出,同時寫入Cache,以備再次使用。當向存儲器寫入內(nèi)容時,由輔助硬件采用各種方法**主存中的內(nèi)容同Cache中的內(nèi)容保持一致。
     為**寫入時兩者內(nèi)容一致的方法有:①將內(nèi)容同時寫入主存和Cache;②數(shù)據(jù)僅寫入主存,若Cache中有此內(nèi)容則將其釋放;③數(shù)據(jù)只寫入Cache,在規(guī)定的時候?qū)⑿薷倪^的Cache的內(nèi)容寫入主存。
     Cache的主要特點是:①存取速度快,一般Cache的速度完全可以跟上CPU的運算速度;②存儲量小,由于Cache的速度快,其價格也相當昂貴,因此為**整個存儲器的性能價格比,一般采用適當容量的Cache,其容量小于主存。
     (2)磁盤緩沖技術
     磁盤緩沖技術的目的是減少由于主、輔存之間的速度差異對計算機總體性能的影響。磁盤是存儲系統(tǒng)中的輔助部分,其主要作用是用來存儲不常用的數(shù)據(jù)和程序等信息,減輕對主存容量的需求壓力。由于磁盤中的信息不能被計算機的其他部件直接調(diào)用,因此在信息的輸入/輸出過程中必須在主存中開辟一定的空單位和為與磁盤上信息交換的中間過渡區(qū)域稱為磁盤緩沖區(qū)。如從鍵盤(輸入設備)向磁盤中輸入一個信息,此信息必須**總線先輸入到主存中的特定區(qū)域中,**程序控制將信息存放到主存中對應于磁盤輸入/輸出的一個特定區(qū)域內(nèi),然后將此信息轉(zhuǎn)存到磁盤上。一般將主存中對應于磁盤的特定區(qū)域稱為磁盤緩沖區(qū)。
     為了提高磁盤的讀寫速度,操作系統(tǒng)一般根據(jù)程序運行的需要設置磁盤緩沖區(qū)的大小及輸入/輸出操作。同Cache技術相類似,不立即覆蓋磁盤緩沖區(qū)的內(nèi)容,當系統(tǒng)需要繼續(xù)讀入磁盤中的信息時,首先檢查磁盤緩沖區(qū)中是否有所需要的信息,若有則直接使用,否則根據(jù)信息的位置將磁盤上特定扇區(qū)的內(nèi)容調(diào)入磁盤緩沖區(qū)后再加以使用。這樣可以提高磁盤的信息讀取速度,減少因磁盤存取速度慢對系統(tǒng)整體性能的影響