資源描述:
《操作系統(tǒng)第3章6講虛擬存儲(chǔ)ppt課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、3.6虛擬存儲(chǔ)與請(qǐng)求頁式存儲(chǔ)管理3.6.1虛擬存儲(chǔ)器的概念一個(gè)認(rèn)為有的、但實(shí)際上不存在的“大”存儲(chǔ)器,就被稱為“虛擬存儲(chǔ)器”。TIP:虛擬存儲(chǔ)器的容量由計(jì)算機(jī)系統(tǒng)的地址結(jié)構(gòu)決定。在虛擬存儲(chǔ)管理的系統(tǒng)里,把用戶作業(yè)的相對(duì)地址空間改稱為“虛擬地址空間”,里面的地址稱為“虛擬地址”。問題:引起下面兩個(gè)問題的原因是?(1)程序運(yùn)行時(shí),需要的內(nèi)容不在內(nèi)存;(2)調(diào)入信息時(shí)內(nèi)存沒有未分配的存儲(chǔ)區(qū)。3.6.2請(qǐng)求分頁式存儲(chǔ)管理的基本思想作業(yè)全部進(jìn)入輔助存儲(chǔ)器,運(yùn)行時(shí),并不把整個(gè)作業(yè)程序一起都裝入到內(nèi)存,而只裝入目前要用
2、的若干頁,其他頁仍然保存在輔助存儲(chǔ)器里。圖3-32請(qǐng)求分頁式存儲(chǔ)管理示意圖問題:一個(gè)虛擬地址結(jié)構(gòu)用24個(gè)二進(jìn)制位表示。其中12個(gè)二進(jìn)制位表示頁面尺寸。試問這種虛擬地址空間總共多少頁?每頁的尺寸是多少?3.6.3缺頁中斷的處理在請(qǐng)求分頁式存儲(chǔ)管理中,是通過頁表表目項(xiàng)中的“缺頁中斷位”來判斷所需要的頁是否在內(nèi)存的。頁號(hào)塊號(hào)缺頁中斷位輔存地址這時(shí)的頁表表項(xiàng)內(nèi)容大致如下:例題:(1)內(nèi)存容量為40KB,被劃分成10個(gè)存儲(chǔ)塊,操作系統(tǒng)程序占用第0塊。如圖(a)所示。(2)內(nèi)存第1塊為系統(tǒng)數(shù)據(jù)區(qū),里面存放著操作系統(tǒng)運(yùn)
3、行時(shí)所需要的各種表格。請(qǐng)求分頁式存儲(chǔ)管理的圖例缺頁中斷處理過程練習(xí)題:作業(yè)在執(zhí)行中發(fā)生了缺頁中斷,那么經(jīng)過中斷處理后,應(yīng)該返回執(zhí)行()指令。A.被中斷的前一條B.被中斷的那條C.被中斷的后一條D.程序的第一條程序運(yùn)行時(shí)的頁面走向作業(yè)運(yùn)行時(shí),稱一個(gè)程序執(zhí)行過程中頁號(hào)的變化序列為“頁面走向”。一個(gè)作業(yè)運(yùn)行的頁面走向中涉及到的頁面總數(shù)為A,其中有F次缺頁,必須通過缺頁中斷把它們調(diào)入內(nèi)存。f為“缺頁中斷率”:f=F/A問題:產(chǎn)生缺頁的原因是什么?影響缺頁次數(shù)的因素有那些?影響缺頁中斷次數(shù)的因素有以下幾種。(1)分
4、配給作業(yè)的內(nèi)存塊數(shù)(2)頁面尺寸(3)程序的實(shí)現(xiàn)例題:要把128×128的數(shù)組元素初始化為“0”。數(shù)組中的每個(gè)元素占用一個(gè)字。假定頁面尺寸為128字,規(guī)定數(shù)組按行的順序存放,系統(tǒng)只分配給該作業(yè)2個(gè)內(nèi)存塊:一個(gè)存放程序,另一個(gè)用于數(shù)組初始化。作業(yè)開始運(yùn)行時(shí),除程序已經(jīng)在內(nèi)存塊外,數(shù)據(jù)均未進(jìn)入。試問下面給出的兩個(gè)程序在運(yùn)行時(shí)各會(huì)發(fā)生多少次缺頁中斷?程序1:main(){inta[128][128];inti,j;for(i=0;i<128;i++)for(j=0;j<128;j++)a[i][j]=0;}程序
5、2:main(){inta[128][128];inti,j;for(j=0;j<128;j++)for(i=0;i<128;i++)a[i][j]=0;}·3.6.4頁面淘汰算法“頁面淘汰”問題:當(dāng)時(shí)內(nèi)存中已經(jīng)沒有空閑塊可供分配使用,那么就必須在內(nèi)存中選擇一頁,然后把它調(diào)出內(nèi)存,以便為即將調(diào)入的頁面讓出塊空間。1.先進(jìn)先出頁面淘汰算法先進(jìn)先出(FIFO)頁面淘汰算法其做法是進(jìn)行頁面淘汰時(shí),總是把最早進(jìn)入內(nèi)存的頁面作為淘汰的對(duì)象。圖3-28先進(jìn)先出頁面淘汰算法的描述例題:給出某作業(yè)的頁面走向是4、3、2、
6、1、4、3、5、4、3、2、1、5。運(yùn)行時(shí),實(shí)行FIFO淘汰算法,試就3個(gè)內(nèi)存塊和4個(gè)內(nèi)存塊的情形,求出各自的缺頁中斷率,并對(duì)結(jié)果進(jìn)行分析。對(duì)于FIFO頁面淘汰算法,有時(shí)增加分配給作業(yè)的可用內(nèi)存塊數(shù),它的缺頁次數(shù)反而上升,通常稱為“異常現(xiàn)象”。圖3-33FIFO的異常現(xiàn)象2.最近最久未用頁面淘汰算法最近最久未用(LRU)頁面淘汰算法是檢查這些淘汰對(duì)象的被訪問時(shí)間,總是把最長(zhǎng)時(shí)間未被訪問過的頁面淘汰出去。例題:在請(qǐng)求分頁系統(tǒng)中,假如分配給一個(gè)作業(yè)的物理塊數(shù)為3,并且此作業(yè)的頁面走向?yàn)?、2、3、4、1、2、
7、5、1、2、3、4、5。1)請(qǐng)用最近最久未用頁面淘汰算法(LRU)缺頁率。2)請(qǐng)用先進(jìn)先出頁面淘汰算法(FIFO)缺頁率。圖3-31最近最久未用(LRU)頁面淘汰算法的描述3.最近最少用頁面淘汰算法最近最少用(LFU)頁面淘汰算法是當(dāng)要進(jìn)行頁面淘汰時(shí),總是把當(dāng)前使用得最少的頁面淘汰出去。例題:在請(qǐng)求分頁系統(tǒng)中,假如分配給一個(gè)作業(yè)的物理塊數(shù)為3,并且此作業(yè)的頁面走向?yàn)?、3、2、1、5、2、4、5、3、2、5、2、1。1)請(qǐng)用最近最少使用淘汰算法計(jì)算缺頁率。2)請(qǐng)用最近最久未用頁面淘汰算法(LRU)缺頁率。
8、4.最優(yōu)頁面淘汰算法如果已知一個(gè)作業(yè)的頁面走向,那么要進(jìn)行頁面淘汰時(shí),應(yīng)該把以后不再使用的或在最長(zhǎng)時(shí)間內(nèi)不會(huì)用到的頁面淘汰出去。這樣所引起的缺頁中斷次數(shù)肯定最小,這就是所謂的“最優(yōu)(OPT)頁面淘汰算法”。請(qǐng)求分頁式存儲(chǔ)管理的特點(diǎn)如下:(1)它具有分頁式存儲(chǔ)管理的所有特點(diǎn)。(2)解決了小內(nèi)存與大作業(yè)的矛盾。分頁式存儲(chǔ)管理的缺點(diǎn):平均每一個(gè)作業(yè)仍要浪費(fèi)半頁大小的存儲(chǔ)塊,也就是說,請(qǐng)求分頁式存儲(chǔ)管理會(huì)產(chǎn)生內(nèi)部碎片??偨Y(jié)練習(xí)題:1.