採用請求分頁存儲
1. 請求分頁調度是和分頁調度有何聯系和區別
在分頁存儲管理方式中 :不具備頁面對換功能,不支持虛擬存儲器功能,在調度作業運行時 ,必須將它的所有頁面一次調入內存 ,若內存沒有足夠的塊, 則作業等待的這種分頁管理方式被稱為純分頁或基本分頁存儲管理方式.
而請求分頁管理方式是支持虛擬存儲的,具備了頁面的對換功能.調度作業時 是將它的 一部分(而不是全部) 放入內存.當發現頁面缺少時 會發出一個缺頁請求 從外存調用頁面文件進入內存.
基於以上所述:基於這一點,請求分頁存儲管理可以提供虛存,而分頁存儲管理卻不能提供虛存。
2. 操作系統請求分頁存儲方式的基本原理是什麼謝謝
3.請求分頁系統(1)請求分頁對頁表的擴充
在請求分頁系統中所使用的主要數據結構仍然是頁表。它對頁式系統中的頁表機制進行了擴充但其基本作用是實現由用戶地址空間到物理內存空間的映射。由於只將應用程序的一部分裝入內存,還有一部分仍在磁碟上,故需在頁表中增加若干項,供操作系統實現虛擬存儲器功能時參考。常見的系統中,一般對頁表的表項進行如下擴充:除了頁號對應的物理塊號,還增加了狀態位、修改位、外存地址和訪問欄位等。
·狀態位,用於指示該頁是否已經調入了內存。該位一般由操作系統軟體來管理,每當操作系統把一頁調人物理內存中時,置位。相反,當操作系統把該頁從物理內存調出時,復位。CPU對內存進行引用時,根據該位判斷要訪問的頁是否在內存中,若不在內存之中,則產生缺頁中斷。
·修改位,表示該頁調入內存後是否被修改過。當CPU以寫的方式訪問頁面時,對該頁表項中的修改位置位。該位也可由操作系統軟體來修改,例如,當操作系統將修改過頁面保存在磁碟上後,可將該位復位。
·外存地址,用於指出該頁在外存上的地址,供調人該頁時使用。
·訪問宇段,用於記錄本頁在一定時間內被訪問的次數,或最近已經有多長時間未被訪問。提供給相應的置換演算法在選擇換出頁面時參考。
(2)對缺頁中斷的支持
在請求分頁系統中,CPU硬體一定要提供對缺頁中斷的支持,根據頁表項中的狀態位判斷是否產生缺頁中斷。缺頁中斷是一個比較特殊的中斷,這主要體現在如下兩點:
·在指令的執行期間產生和處理缺頁信號。通常的CPU外部中斷,是在每條指令執行完畢後檢查是否有中斷請求到達。而缺頁中斷,是在一條指令的執行期間,發現要訪問的指令和數據不在內存時產生和處理的。
·一條指令可以產生多個缺頁中斷。例如,一條雙操作數的指令,每個操作數都不在內存中,這條指令執行時,將產生兩個中斷。CPU提供的硬體支持,還要體現在當從中斷處理程序返回時,能夠正確執行產生缺頁中斷的指令。
(3)頁面調度策略
虛擬存儲器系統通常定義三種策略來規定如何(或何時)進行頁面調度:調入策略、置頁策略和置換策略。
(4)置換演算法(replacementalgorithm)決定在需要調入頁面時,選擇內存中哪個物理頁面被置換。置換演算法的出發點應該是,把未來不再使用的或短期內較少使用的頁面調出。而未來的實際情況是不確定的,通常只能在局部性原理指導下依據過去的統計數據進行預測。常用的演算法有以下幾種:
·最佳演算法(optimal,OPT)。選擇「未來不再使用的」或「在離當前最遠位置上出現的」頁面被置換。這是一種理想情況,是實際執行中無法預知的,因而不能實現,只能用作性能評價的依據。
·最近最久未使用演算法(LeastRecentlyUsed,LRU)。選擇內存中最久未使用的頁面被置換,這是局部性原理的合理近似,性能接近最佳演算法。但由於需要記錄頁面使用時間的先後關系,硬體開銷太大。LRU可用如下的硬體機構幫助實現:
一個特殊的棧:把被訪問的頁面移到棧頂,於是棧底的是最久未使用頁面。每個頁面設立移位寄存器:被訪問時左邊最高位置1,定期右移並且最高位補0,於是寄存器數值最小的是最久未使用頁面。
·先進先出演算法(FIFO)。選擇裝入最早的頁面置換。可以通過鏈表來表示各頁的裝入時間先後。FIFO的性能較差,因為較早調入的頁往往是經常被訪問的頁,這些頁在FIFO演算法下被反復調入和調出,並且有Belady現象。所謂Belady現象是指:採用FIFO演算法時,如果對—個進程未分配它所要求的全部頁面,有時就會出現分配的頁面數增多但缺頁率反而提高的異常現象。Belady現象可形式化地描述為:一個進程戶要訪問M個頁,OS分配艫個內存頁面給進程P;對一個訪問序列S,發生缺頁次數為PE(占,N)。當N增大時,PE(S,N)時而增大時而減小。Belady現象的原因是FIFO演算法的置換特徵與進程訪問內存的動態特徵是矛盾的,即被置換的頁面並不是進程不會訪問的。
·時鍾(clock)演算法。也稱最近未使用演算法(NotRecentlyUsed,NRU),它是LRU和FIFO的折中。每頁有一個使用標志位(usebit),若該頁被訪問則置userbit=l,這是由CPU的硬體自動完成的。置換時採用一個指針,從當前指針位置開始按地址先後檢查各頁,尋找usebit=0的面作為被置換頁。指針經過的userbit=l的頁都修改userbit=O,這個修改的過程是操作系統完成的,最後指針停留在被置換頁的下一個頁。
·最不常用演算法(LeastFrequentlyUsed,LFU)。選擇到當前時間為止被訪問次數最少的頁面被置換。每頁設置訪問計數器,每當頁面被訪問時,該頁面的訪問計數器加1。發生缺頁中斷時,淘汰計數值最小的頁面,並將所有計數清零。
·頁面緩沖演算法(pagebuffering)。它是對FIFO演算法的發展,通過建立置換頁面的緩沖,這樣就有機會找回剛被置換的頁面,從而減少系統I/0的開銷。頁面緩沖演算法用FIFO演算法選擇被置換頁,把被置換的頁面放人兩個鏈表之一。即是如果頁面未被修改,就將其歸人到空閑頁面鏈表的末尾,否則將其歸人到已修改頁面鏈表。空閑頁面和已修改頁面,仍停留在內存中一段時間,如果這些頁面被再次訪問,只需較小開銷,被訪問的頁面就可以返還作為進程的內存頁。需要調入新的物理頁面時,將新頁面內容讀人到空閑頁面鏈表的第一項所指的頁面,然後將第一項刪除。當已修改頁面達到一定數目後,再將它們一起調出到外存,然後將它們歸人空閑頁面鏈表。這樣能大大減少I/O操作的次數。
3. 對於請求分頁式存儲管理系統,若把頁面的大小增加一倍,則缺頁中斷次數會減少一半
當然不一定是一半,這還得取決於操作系統內核的相關結構以及實際運行情況。因為系統中,缺頁中斷次數和頁面大小有些關系,但並不只取決於頁面大小,還跟系統總內存總量等很多因素有關,當系統內存不足時,會發生頁面交換,此時也會產生很多次缺頁中斷,但與頁面大小就沒有太大關系了。
4. 請求分頁與分頁存儲管理有何不同
大哥 他問的不是分頁和分段好不好?
其實呢 它們可以說是一個包含與被包含的關系 而又不完全正確 這樣說吧
在分頁存儲管理方式中
不具備頁面對換功能 不支持虛擬存儲器功能 在調度作業運行時 必須將它的所有頁面一次調入內存 若內存沒有足夠的塊 則作業等待 的這種分頁管理方式被稱為純分頁或基本分頁存儲管理方式
而請求分頁管理方式 是支持虛擬存儲的 具備了頁面的對換功能
調度作業時 是將它的 一部分(而不是全部) 放入內存
當發現頁面缺少時 會發出一個缺頁請求 從外存調用頁面文件進入內存
具體的你可以看看教材上面的
這個問題問的很不好回答
5. 在請求分頁存儲管理中,若採用FIFO頁面淘汰演算法,則當可供分配的頁楨樹增加時,缺頁中斷次數怎樣麻
理論上是減少的,但如果是FIFO演算法
在分頁式虛擬存儲器管理中,發生缺頁時的置換演算法採用FIFO(先進先出)演算法時,如果對一個進程未分配它所要求的全部頁面,有時就會出現分配的頁面數增多但缺頁率反而提高的異常現象。稱為belady現象。
答案是可能增加也可能減少