A. 頁面虛擬存儲器與段式虛擬存儲器的區別
頁面虛擬存儲器與段式虛擬存儲器區別:
1、頁面虛擬存儲器
頁式虛擬存儲系統中,虛擬空間分成頁,稱為邏輯頁;主存空間也分成同樣大小的頁,稱為物理頁。頁表中每一個虛存邏輯頁號有一個表目,表目內容包含該邏輯頁所在的主存頁面地址(物理頁號),用它作為實存地址的高欄位,與虛存地址的頁內行地址欄位相拼接,產生完整的實主存地址,據此來訪問主存。
2、段式虛擬存儲器
段式虛擬存儲器是按程序的邏輯結構劃分地址空間,段的長度是隨意的,並且允許伸長,它的優點是消除了內存零頭,易於實現存儲保護,便於程序動態裝配;缺點是調入操作復雜。將這兩種方法結合起來便構成段頁式調度。在段頁式調度中把物理空間分成頁,程序按模塊分段,每個段再分成與物理空間頁同樣小的頁面。
B. 虛擬存儲器() A.對用戶是透明的B.對程序員是透明的C.對OS是透明的D.操作系統的設計者
現在的計算機存儲系統可以分為3級:
1)CPU內部的高速緩存(也就是cache,cache也分級,例如我的CPU是i5-540M,一級cache 64KB,2級cache 2x256KB,3級cache 3MB);
2)內存,也就是我們通常說的存儲器(我的筆記本是4GB)
3)就是你說的虛擬存儲器,這個可以在系統里設置,佔用硬碟的資源。
分級存儲系統是為了平衡存儲速度和費用。cache會非常貴,不可能做到上GB的規模。因為系統的調度功能和預先讀取功能,可以保證接下來用到的程序和數據在cache和存取器中,所以最終的結果是系統的價格接近最便宜的硬碟,系統的速度接近最快的cache。
如想詳細了解可以看看有關的計算機基礎的教材。
現在回答你的問題:
虛擬存儲器對用戶和程序員都是透明的,但是對操作系統不透明。
cache對所有的程序都是透明的,我們編程是無法訪問指定cache的,但是可以訪問指定的內存。cache有CPU硬體來調度。
C. 虛擬存儲器技術主要用於解決什麼問題簡述虛擬存儲器的基本工作原理。
虛擬存儲器技術主要解決電腦內存不夠的問題,電腦中所運行的程序均需經由內存執行,若執行的程序佔用內存很大或很多,則會導致內存消耗殆盡。
為解決該問題,Windows中運用了虛擬內存技術,即勻出一部分硬碟空間來充當內存使用。當內存耗盡時,電腦就會自動調用硬碟來充當內存,以緩解內存的緊張。若計算機運行程序或操作所需的隨機存儲器(RAM)不足時,則 Windows 會用虛擬存儲器進行補償。
工作原理
1、中央處理器訪問主存的邏輯地址分解成組號a和組內地址b,並對組號a進行地址變換,即將邏輯組號a作為索引,查地址變換表,以確定該組信息是否存放在主存內。
2、如該組號已在主存內,則轉而執行④;如果該組號不在主存內,則檢查主存中是否有空閑區,如果沒有,便將某個暫時不用的組調出送往輔存,以便將這組信息調入主存。
3、從輔存讀出所要的組,並送到主存空閑區,然後將那個空閑的物理組號a和邏輯組號a登錄在地址變換表中。
4、從地址變換表讀出與邏輯組號a對應的物理組號a。
5、從物理組號a和組內位元組地址b得到物理地址。
6、根據物理地址從主存中存取必要的信息。
(3)段氏虛擬存儲器對程序員是否透明擴展閱讀:
相關概念
1、實地址與虛地址
用戶編製程序時使用的地址稱為虛地址或邏輯地址,其對應的存儲空間稱為虛存空間或邏輯地址空間;而計算機物理內存的訪問地址則稱為實地址或物理地址,其對應的存儲空間稱為物理存儲空間或主存空間。程序進行虛地址到實地址轉換的過程稱為程序的再定位。
2、虛擬內存的訪問過程
虛存空間的用戶程序按照虛地址編程並存放在輔存中。程序運行時,由地址變換機構依據當時分配給該程序的實地址空間把程序的一部分調入實存。
每次訪存時,首先判斷該虛地址所對應的部分是否在實存中:如果是,則進行地址轉換並用實地址訪問主存;否則,按照某種演算法將輔存中的部分程序調度進內存,再按同樣的方法訪問主存。
3、異構體系
從虛存的概念可以看出,主存-輔存的訪問機制與cache-主存的訪問機制是類似的。這是由cache存儲器、主存和輔存構成的三級存儲體系中的兩個層次。cache和主存之間以及主存和輔存之間分別有輔助硬體和輔助軟硬體負責地址變換與管理,以便各級存儲器能夠組成有機的三級存儲體系。
D. 什麼是虛擬存儲器它的原理是是什麼
虛擬內存別稱虛擬存儲器(Virtual Memory),是計算機系統內存管理的一種技術。它使得應用程序認為它擁有連續的可用的內存(一個連續完整的地址空間)。
工作原理:
虛擬存儲器是由硬體和操作系統自動實現存儲信息調度和管理的。它的工作過程包括6個步驟:[3]
①中央處理器訪問主存的邏輯地址分解成組號a和組內地址b,並對組號a進行地址變換,即將邏輯組號a作為索引,查地址變換表,以確定該組信息是否存放在主存內。
②如該組號已在主存內,則轉而執行;如果該組號不在主存內,則檢查主存中是否有空閑區,如果沒有,便將某個暫時不用的組調出送往輔存,以便將這組信息調入主存。
③從輔存讀出所要的組,並送到主存空閑區,然後將那個空閑的物理組號a和邏輯組號a登錄在地址變換表中。
④從地址變換表讀出與邏輯組號a對應的物理組號a。
⑤從物理組號a和組內位元組地址b得到物理地址。
⑥根據物理地址從主存中存取必要的信息。
(4)段氏虛擬存儲器對程序員是否透明擴展閱讀:
虛擬內存不只是「用磁碟空間來擴展物理內存」的意思——這只是擴充內存級別以使其包含硬碟驅動器而已。把內存擴展到磁碟只是使用虛擬內存技術的一個結果,它的作用也可以通過覆蓋或者把處於不活動狀態的程序以及它們的數據全部交換到磁碟上等方式來實現。
對虛擬內存的定義是基於對地址空間的重定義的,即把地址空間定義為「連續的虛擬內存地址」,以藉此「欺騙」程序,使它們以為自己正在使用一大塊的「連續」地址。
現代所有用於一般應用的操作系統都對普通的應用程序使用虛擬內存技術,例如文字處理軟體,電子製表軟體,多媒體播放器等等。
老一些的操作系統,如DOS和1980年代的Windows,或者那些1960年代的大型機,一般都沒有虛擬內存的功能——但是Atlas,B5000和蘋果公司的Lisa都是很值得注意的例外。
那些需要快速訪問或者反應時間非常一致的嵌入式系統,和其他的具有特殊應用的計算機系統,可能會為了避免讓運算結果的可預測性降低,而選擇不使用虛擬內存。
E. 構造虛擬儲存器必須具備哪些條件
cache存儲器、主存和輔存是構成虛擬存儲器的重要部分,cache和主存構成了系統的內存,而主存和輔存依靠輔助軟硬體的支持構成了虛擬存儲器。
一、異構體系
從虛存的概念可以看出,主存-輔存的訪問機制與cache-主存的訪問機制是類似的。這是由cache存儲器、主存和輔存構成的三級存儲體系中的兩個層次。cache和主存之間以及主存和輔存之間分別有輔助硬體和輔助軟硬體負責地址變換與管理,以便各級存儲器能夠組成有機的三級存儲體系。cache和主存構成了系統的內存,而主存和輔存依靠輔助軟硬體的支持構成了虛擬存儲器。
在三級存儲體系中,cache-主存和主存-輔存這兩個存儲層次有許多相同點:
(1)出發點相同:二者都是為了提高存儲系統的性能價格比而構造的分層存儲體系,都力圖使存儲系統的性能接近高速存儲器,而價格和容量接近低速存儲器。
(2)原理相同:都是利用了程序運行時的局部性原理把最近常用的信息塊從相對慢速而大容量的存儲器調入相對高速而小容量的存儲器。
但cache-主存和主存-輔存這兩個存儲層次也有許多不同之處:
(1)側重點不同:cache主要解決主存與CPU的速度差異問題;而就性能價格比的提高而言,虛存主要是解決存儲容量問題,另外還包括存儲管理、主存分配和存儲保護等方面。
(2)數據通路不同:CPU與cache和主存之間均有直接訪問通路,cache不命中時可直接訪問主存;而虛存所依賴的輔存與CPU之間不存在直接的數據通路,當主存不命中時只能通過調頁解決,CPU最終還是要訪問主存。
(3)透明性不同:cache的管理完全由硬體完成,對系統程序員和應用程序員均透明;而虛存管理由軟體(操作系統)和硬體共同完成,由於軟體的介入,虛存對實現存儲管理的系統程序員不透明,而只對應用程序員透明(段式和段頁式管理對應用程序員"半透明")。
(4)未命中時的損失不同:由於主存的存取時間是cache的存取時間的5~10倍,而主存的存取速度通常比輔存的存取速度快上千倍,故主存未命中時系統的性能損失要遠大於cache未命中時的損失。
二、關鍵問題
(1)調度問題:決定哪些程序和數據應被調入主存。
(2)地址映射問題:在訪問主存時把虛地址變為主存物理地址(這一過程稱為內地址變換);在訪問輔存時把虛地址變成輔存的物理地址(這一過程稱為外地址變換),以便換頁。此外還要解決主存分配、存儲保護與程序再定位等問題。
(3)替換問題:決定哪些程序和數據應被調出主存。
(4)更新問題:確保主存與輔存的一致性。
在操作系統的控制下,硬體和系統軟體為用戶解決了上述問題,從而使應用程序的編程大大簡化。
三、工作原理
虛擬存儲器是由硬體和操作系統自動實現存儲信息調度和管理的。它的工作過程包括6個步驟:
①中央處理器訪問主存的邏輯地址分解成組號a和組內地址b,並對組號a進行地址變換,即將邏輯組號a作為索引,查地址變換表,以確定該組信息是否存放在主存內。
②如該組號已在主存內,則轉而執行④;如果該組號不在主存內,則檢查主存中是否有空閑區,如果沒有,便將某個暫時不用的組調出送往輔存,以便將這組信息調入主存。
③從輔存讀出所要的組,並送到主存空閑區,然後將那個空閑的物理組號a和邏輯組號a登錄在地址變換表中。
④從地址變換表讀出與邏輯組號a對應的物理組號a。
⑤從物理組號a和組內位元組地址b得到物理地址。
⑥根據物理地址從主存中存取必要的信息。
F. 什麼是虛擬存儲器
虛擬存儲器
virtual memory
為了給用戶提供更大的隨機存取空間而採用的一種存儲技術。它將內存與外存結合使用,好像有一個容量極大的內存儲器,工作速度接近於主存,每位成本又與輔存相近,在整機形成多層次存儲系統。
虛擬存儲器源出於英國ATLAS計算機的一級存儲器概念。這種系統的主存為16千字的磁芯存儲器,但中央處理器可用20位邏輯地址對主存定址。到1970年,美國RCA公司研究成功虛擬存儲器系統。IBM公司於1972年在IBM370系統上全面採用了虛擬存儲技術。虛擬存儲器已成為計算機系統中非常重要的部分。
虛擬存儲器是由硬體和操作系統自動實現存儲信息調度和管理的。它的工作過程包括6個步驟:①中央處理器訪問主存的邏輯地址分解成組號a和組內地址b,並對組號a進行地址變換,即將邏輯組號a作為索引,查地址變換表,以確定該組信息是否存放在主存內。②如該組號已在主存內,則轉而執行④;如果該組號不在主存內,則檢查主存中是否有空閑區,如果沒有,便將某個暫時不用的組調出送往輔存,以便將這組信息調入主存。③從輔存讀出所要的組,並送到主存空閑區,然後將那個空閑的物理組號a和邏輯組號a登錄在地址變換表中。④從地址變換表讀出與邏輯組號a對應的物理組號a。⑤從物理組號a和組內位元組地址b得到物理地址。⑥根據物理地址從主存中存取必要的信息。
調度方式有分頁式、段式、段頁式3種。頁式調度是將邏輯和物理地址空間都分成固定大小的頁。主存按頁順序編號,而每個獨立編址的程序空間有自己的頁號順序,通過調度輔存中程序的各頁可以離散裝入主存中不同的頁面位置,並可據表一一對應檢索。頁式調度的優點是頁內零頭小,頁表對程序員來說是透明的,地址變換快,調入操作簡單;缺點是各頁不是程序的獨立模塊,不便於實現程序和數據的保護。段式調度是按程序的邏輯結構劃分地址空間,段的長度是隨意的,並且允許伸長,它的優點是消除了內存零頭,易於實現存儲保護,便於程序動態裝配;缺點是調入操作復雜。將這兩種方法結合起來便構成段頁式調度。在段頁式調度中把物理空間分成頁,程序按模塊分段,每個段再分成與物理空間頁同樣小的頁面。段頁式調度綜合了段式和頁式的優點。其缺點是增加了硬體成本,軟體也較復雜。大型通用計算機系統多數採用段頁式調度。
虛擬存儲器地址變換基本上有3種形虛擬存儲器工作過程式:全聯想變換、直接變換和組聯想變換。任何邏輯空間頁面能夠變換到物理空間任何頁面位置的方式稱為全聯想變換。每個邏輯空間頁面只能變換到物理空間一個特定頁面的方式稱為直接變換。組聯想變換是指各組之間是直接變換,而組內各頁間則是全聯想變換。
替換規則用來確定替換主存中哪一部分,以便騰空部分主存,存放來自輔存要調入的那部分內容。常見的替換演算法有4種。①隨機演算法:用軟體或硬體隨機數產生器確定替換的頁面。②先進先出:先調入主存的頁面先替換。③近期最少使用演算法:替換最長時間不用的頁面。④最優演算法:替換最長時間以後才使用的頁面。這是理想化的演算法,只能作為衡量其他各種演算法優劣的標准。
虛擬存儲器的效率是系統性能評價的重要內容,它與主存容量、頁面大小、命中率,程序局部性和替換演算法等因素有關。
G. 怎樣使用「虛擬存儲器」
不管你用的是MS WINDOWS系列操作系統,或者是LINUX或者UNIX,加上我用過的IRIX(一種64位的UNIX,專用於SGI圖形工作站),虛擬內存或者是交換文件(實際上英文名解釋來說都是Swap file)都是由操作系統本身提供的驅動程序,無需使用者額外安裝驅動或第三方驅動程序。
在微軟的WINDOWS 2000以上操作系統中,微軟的虛擬機管理器程序VMM(Virtual Machine Manager) 是位於最底層的操作系統部件(VMM 包含了所有基本的系統功能,如任務調度、虛擬內存操作、程序裝入及終止、任務間通訊等,此外,還負責處理主要的中斷及例外情況)。目前,個人電腦上安裝最多的Windows XP也使用操作系統自帶的虛擬內存管理器(VMM)技術和驅動程序來管理虛擬內存(4GB以下的系統都需要設置虛擬內存),無需用戶再安裝額外的虛擬內存驅動程序了,呵呵~~~
附:上面提到的「4GB以下的系統都需要設置虛擬內存」的更多說明
系統虛擬內存簡而言之就是為了避免物理內存容量不足,系統在硬碟中設置的名為PageFile.Sys的可作為內存使用的大容量文件,通常也叫做頁面文件。合理的分配虛擬內存,可以讓它輔助物理內存更好的改善系統性能。反之,系統性能降低。
Windows XP個人版使用了32位的內存模型,這樣可以允許內存存的地址空間達到4GB.也就是說Windows XP最大支持4GB的物理內存。前端的2GB空間只能被操作系統使用,底端的2GB內存則由操作系統和應用程序共同使用。當內存不夠時,Windows XP使用虛擬內存管理器(VMM)技術來管理虛擬內存,也就是說4GB以下的系統都需要設置虛擬內存。
正確設置虛批內存的方法是:右擊「我的電腦→屬性→高級」,在「性能」區域選擇「設置」,彈出「性能選項」窗口,在「高級」選項卡點擊「虛擬內存」區域的「更改」按鈕,在「虛擬內存」對話框中我們可以設置硬碟的頁面文件的「初始大小」和「最大值」。根據你的磁碟剩餘空間和速度來設置不同分區的虛擬內存,建議只對系統盤和鄰近分區設置頁面文件。填完後記住點擊「設置」完成。
對於虛擬內存「初始大小」的大小,微軟的標準是設置為物理內存的1.5倍;對於最佳的「最大值」大小,我們只需觀察到系統運行大型應用程序時的虛擬內存使用峰值即可。觀察的方法是:打開「Windows任務管理器」,在「性能」選項卡界面左下角的「認可用量」部分中,可以看到當前峰值的數字是多少。如果多次觀察這個數字均為最大值,那麼就把這個值(單位KB)設為最大值即可,記住將此值除以1024轉換為MB後再填入。
H. 「對程序員是透明的」中的「透明」是什麼意思
字面理解透明的意思,透明有兩種解釋:
一種是:能看見一個容器裡面的詳細、具體的內容。
二種:整個容器都是透明的,什麼也看不見呢
兩種完全對立的理解,但在程序員的世界裡,透明對應的是第二種理解。就是你完全不知道某模塊內部實現,也不需要知道,因為無論它的內部是如何實現的,它提供的對外介面是一致的,調用介面的人無需關心其內部實現原理。
I. 虛擬存儲器的使用目的和實質是什麼
虛擬存儲器:在具有層次結構存儲器的計算機系統中,自動實現部分裝入和部分替換動能.,能從邏輯上為用戶提供一個比物理貯存容量大得多,可定址的「主存儲器」。虛擬存儲區的容量與物理主存大小無關,而受限於計算機的地質結構和可用磁碟容量。1、虛擬內存的作用 內存在計算機中的作用很大,電腦中所有運行的程序都需要經過內存來執行,如果執行的程序很大或很多,就會導致內存消耗殆盡。為了解決這個問題,Windows中運用了虛擬內存技術,即拿出一部分硬碟空間來充當內存使用,當內存佔用完時,電腦就會自動調用硬碟來充當內存,以緩解內存的緊張。舉一個例子來說,如果電腦只有128MB物理內存的話,當讀取一個容量為200MB的文件時,就必須要用到比較大的虛擬內存,文件被內存讀取之後就會先儲存到虛擬內存,等待內存把文件全部儲存到虛擬內存之後,跟著就會把虛擬內里儲存的文件釋放到原來的安裝目錄里了。下面,就讓我們一起來看看如何對虛擬內存進行設置吧。
2、虛擬內存的設置 對於虛擬內存主要設置兩點,即內存大小和分頁位置,內存大小就是設置虛擬內存最小為多少和最大為多少;而分頁位置則是設置虛擬內存應使用那個分區中的硬碟空間。對於內存大小的設置,如何得到最小值和最大值呢?你可以通過下面的方法獲得:選擇「開始→程序→附件→系統工具→系統監視器」(如果系統工具中沒有,可以通過「添加/刪除程序」中的Windows安裝程序進行安裝)打開系統監視器,然後選擇「編輯→添加項目」,在「類型」項中選擇「內存管理程序」,在右側的列表選擇「交換文件大小」。這樣隨著你的操作,會顯示出交換文件值的波動情況,你可以把經常要使用到的程序打開,然後對它們進行使用,這時查看一下系統監視器中的表現值,由於用戶每次使用電腦時的情況都不盡相同,因此,最好能夠通過較長時間對交換文件進行監視來找出最符合您的交換文件的數值,這樣才能保證系統性能穩定以及保持在最佳的狀態。 找出最合適的范圍值後,在設置虛擬內存時,用滑鼠右鍵點擊「我的電腦」,選擇「屬性」,彈出系統屬性窗口,選擇「性能」標簽,點擊下面「虛擬內存」按鈕,彈出虛擬內存設置窗口,點擊「用戶自己指定虛擬內存設置」單選按鈕,「硬碟」選較大剩餘空間的分區,然後在「最小值」和「最大值」文本框中輸入合適的范圍值。如果您感覺使用系統監視器來獲得最大和最小值有些麻煩的話,這里完全可以選擇「讓Windows管理虛擬內存設置」。 3、調整分頁位置 Windows 9x的虛擬內存分頁位置,其實就是保存在C盤根目錄下的一個虛擬內存文件(也稱為交換文件)Win386.swp,它的存放位置可以是任何一個分區,如果系統盤C容量有限,我們可以把Win386.swp調到別的分區中,方法是在記事本中打開System.ini(C:\\Windows下)文件,在[386Enh]小節中,將「PagingDrive=C:WindowsWin 386.swp」,改為其他分區的路徑,如將交換文件放在D:中,則改為「PagingDrive=D:Win386.swp」,如沒有上述語句可以直接鍵入即可。 而對於使用Windows 2000和Windows XP的,可以選擇「控制面板→系統→高級→性能」中的「設置→高級→更改」,打開虛擬內存設置窗口,在驅動器[卷標]中默認選擇的是系統所在的分區,如果想更改到其他分區中,首先要把原先的分區設置為無分頁文件,然後再選擇其他分區。
如果你的硬碟夠大,那就請你打開」控制面板「中的「系統」,在「性能」選項中打開「虛擬內存」,選擇第二項:用戶自己設定虛擬內存設置,指向一個較少用的硬碟,並把最大值和最小值都設定為一個固定值,大小為物理內存的2倍左右。這樣,虛擬存儲器在使用硬碟時,就不用遷就其忽大忽小的差別,而將固定的空間作為虛擬內存,加快存取速度。虛擬內存的設置最好在「磁碟碎片整理」之後進行,這樣虛擬內存就分不在一個連續的、無碎片文件的空間上,可以更好的發揮作用。
虛擬內存使用技巧
對於虛擬內存如何設置的問題,微軟已經給我們提供了官方的解決辦法,對於一般情況下,我們推薦採用如下的設置方法:
(1)在Windows系統所在分區設置頁面文件,文件的大小由你對系統的設置決定。具體設置方法如下:打開"我的電腦"的"屬性"設置窗口,切換到"高級"選項卡,在"啟動和故障恢復"窗口的"寫入調試信息"欄,如果你採用的是"無",則將頁面文件大小設置為2MB左右,如果採用"核心內存存儲"和"完全內存存儲",則將頁面文件值設置得大一些,跟物理內存差不多就可以了。
小提示:對於系統分區是否設置頁面文件,這里有一個矛盾:如果設置,則系統有可能會頻繁讀取這部分頁面文件,從而加大系統盤所在磁軌的負荷,但如果不設置,當系統出現藍屏死機(特別是STOP錯誤)的時候,無法創建轉儲文件 (Memory.dmp),從而無法進行程序調試和錯誤報告了。所以折中的辦法是在系統盤設置較小的頁面文件,只要夠用就行了。
(2)單獨建立一個空白分區,在該分區設置虛擬內存,其最小值設置為物理內存的1.5倍,最大值設置為物理內存的3倍,該分區專門用來存儲頁面文件,不要再存放其它任何文件。之所以單獨劃分一個分區用來設置虛擬內存,主要是基於兩點考慮:其一,由於該分區上沒有其它文件,這樣分區不會產生磁碟碎片,這樣能保證頁面文件的數據讀寫不受磁碟碎片的干擾;其二,按照Windows對內存的管理技術,Windows會優先使用不經常訪問的分區上的
頁面文件,這樣也減少了讀取系統盤里的頁面文件的機會,減輕了系統盤的壓力。
(3)其它硬碟分區不設置任何頁面文件。當然,如果你有多個硬碟,則可以為每個硬碟都創建一個頁面文件。當信息分布在多個頁面文件上時,硬碟控制器可以同時在多個硬碟上執行讀取和寫入操作。這樣系統性能將得到提高。
提示:
允許設置的虛擬內存最小值為2MB,最大值不能超過當前硬碟的剩餘空間值,同時也不能超過32位操作系統的內存定址范圍——4GB。
虛擬存儲器
virtual memory
為了給用戶提供更大的隨機存取空間而採用的一種存儲技術。它將內存與外存結合使用,好像有一個容量極大的內存儲器,工作速度接近於主存,每位成本又與輔存相近,在整機形成多層次存儲系統。
虛擬存儲器源出於英國ATLAS計算機的一級存儲器概念。這種系統的主存為16千字的磁芯存儲器,但中央處理器可用20位邏輯地址對主存定址。到1970年,美國RCA公司研究成功虛擬存儲器系統。IBM公司於1972年在IBM370系統上全面採用了虛擬存儲技術。虛擬存儲器已成為計算機系統中非常重要的部分。
虛擬存儲器是由硬體和操作系統自動實現存儲信息調度和管理的。它的工作過程包括6個步驟:①中央處理器訪問主存的邏輯地址分解成組號a和組內地址b,並對組號a進行地址變換,即將邏輯組號a作為索引,查地址變換表,以確定該組信息是否存放在主存內。②如該組號已在主存內,則轉而執行④;如果該組號不在主存內,則檢查主存中是否有空閑區,如果沒有,便將某個暫時不用的組調出送往輔存,以便將這組信息調入主存。③從輔存讀出所要的組,並送到主存空閑區,然後將那個空閑的物理組號a和邏輯組號a登錄在地址變換表中。④從地址變換表讀出與邏輯組號a對應的物理組號a。⑤從物理組號a和組內位元組地址b得到物理地址。⑥根據物理地址從主存中存取必要的信息。
調度方式有分頁式、段式、段頁式3種。頁式調度是將邏輯和物理地址空間都分成固定大小的頁。主存按頁順序編號,而每個獨立編址的程序空間有自己的頁號順序,通過調度輔存中程序的各頁可以離散裝入主存中不同的頁面位置,並可據表一一對應檢索。頁式調度的優點是頁內零頭小,頁表對程序員來說是透明的,地址變換快,調入操作簡單;缺點是各頁不是程序的獨立模塊,不便於實現程序和數據的保護。段式調度是按程序的邏輯結構劃分地址空間,段的長度是隨意的,並且允許伸長,它的優點是消除了內存零頭,易於實現存儲保護,便於程序動態裝配;缺點是調入操作復雜。將這兩種方法結合起來便構成段頁式調度。在段頁式調度中把物理空間分成頁,程序按模塊分段,每個段再分成與物理空間頁同樣小的頁面。段頁式調度綜合了段式和頁式的優點。其缺點是增加了硬體成本,軟體也較復雜。大型通用計算機系統多數採用段頁式調度。
虛擬存儲器地址變換基本上有3種形虛擬存儲器工作過程式:全聯想變換、直接變換和組聯想變換。任何邏輯空間頁面能夠變換到物理空間任何頁面位置的方式稱為全聯想變換。每個邏輯空間頁面只能變換到物理空間一個特定頁面的方式稱為直接變換。組聯想變換是指各組之間是直接變換,而組內各頁間則是全聯想變換。
替換規則用來確定替換主存中哪一部分,以便騰空部分主存,存放來自輔存要調入的那部分內容。常見的替換演算法有4種。①隨機演算法:用軟體或硬體隨機數產生器確定替換的頁面。②先進先出:先調入主存的頁面先替換。③近期最少使用演算法:替換最長時間不用的頁面。④最優演算法:替換最長時間以後才使用的頁面。這是理想化的演算法,只能作為衡量其他各種演算法優劣的標准。
虛擬存儲器的效率是系統性能評價的重要內容,它與主存容量、頁面大小、命中率,程序局部性和替換演算法等因素有關。
J. 「編程是透明的」是什麼意思
應該是對「程序設計人員」是透明的,參考
系列機各檔不同數據通路寬度、Cache存儲器、指令緩沖寄存器屬計算機組成,對系統程序員和應用程序員都是透明的。虛擬存儲器、程序狀態字、「啟動I/O」指令,對系統程序員是不透明的,而對應用程序員卻是透明的。