操作系統第四章3_第1頁
操作系統第四章3_第2頁
操作系統第四章3_第3頁
操作系統第四章3_第4頁
操作系統第四章3_第5頁
已閱讀5頁,還剩34頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第四章第四章 存儲器管理存儲器管理主主 講:趙恒講:趙恒25.15.1 虛擬存儲器虛擬存儲器 前面所介紹的各種存儲管理方式,有一個共同的特點,前面所介紹的各種存儲管理方式,有一個共同的特點,即它們都要求將一個作業全部裝入內存后才能運行即它們都要求將一個作業全部裝入內存后才能運行,于是,于是,就可能出現以下情況:就可能出現以下情況: (1) 有的作業很大,其所要求內存空間超過了內存容量,有的作業很大,其所要求內存空間超過了內存容量,從而導致作業不能全部被裝入內存,以至于該作業無法運從而導致作業不能全部被裝入內存,以至于該作業無法運行。行。 (2) 有多個作業要求運行,但可用的內存空間不足以容納有

2、多個作業要求運行,但可用的內存空間不足以容納所有的作業,只能將少數的作業裝入內存讓它們先運行,所有的作業,只能將少數的作業裝入內存讓它們先運行,而將其他的作業留在外存等待。而將其他的作業留在外存等待。35.15.1 虛擬存儲器虛擬存儲器 常規存儲器管理方式的特征常規存儲器管理方式的特征 (1 1)一次性:)一次性:作業在運行前需一次性地全部裝入內存。將作業在運行前需一次性地全部裝入內存。將導致上述兩問題。導致上述兩問題。 (2 2)駐留性:)駐留性:作業裝入內存后,便一直駐留內存,直至作作業裝入內存后,便一直駐留內存,直至作業運行結束。業運行結束。n局部性原理局部性原理 指程序在執行時呈現出局

3、部性規律,即在一較短時間內,指程序在執行時呈現出局部性規律,即在一較短時間內,程序的執行僅限于某個部分,相應地,它所訪問的存儲空間程序的執行僅限于某個部分,相應地,它所訪問的存儲空間也局限于某個區域。也局限于某個區域。 局部性又表現為時間局部性局部性又表現為時間局部性( (由于大量的循環操作,某由于大量的循環操作,某指令或數據被訪問后,則不久可能會被再次訪問指令或數據被訪問后,則不久可能會被再次訪問) )和空間局部和空間局部性(如順序執行,指程序在一段時間內訪問的地址,可能集性(如順序執行,指程序在一段時間內訪問的地址,可能集中在一定的范圍之內)。中在一定的范圍之內)。實現虛擬存儲器的理論基礎

4、:局部性原理。局部性原理。45.15.1 虛擬存儲器虛擬存儲器實現方法:n一個進程在運行之時,沒有必要全部裝入內存,而只把一個進程在運行之時,沒有必要全部裝入內存,而只把當前運行所需要的頁(段)裝入內存便可啟動運行,而當前運行所需要的頁(段)裝入內存便可啟動運行,而其余部分則存放在磁盤上。程序在運行時,如果所需要其余部分則存放在磁盤上。程序在運行時,如果所需要的頁(段)已經調入內存,便可以繼續執行下去。如果的頁(段)已經調入內存,便可以繼續執行下去。如果所需要的頁(段)不在內存,此時程序應利用操作系統所需要的頁(段)不在內存,此時程序應利用操作系統所提供的請求調頁(段)功能,將該頁(段)調入內

5、存,所提供的請求調頁(段)功能,將該頁(段)調入內存,以使程序能夠運行下去。如果此時分配給該程序的內存以使程序能夠運行下去。如果此時分配給該程序的內存已全部占用,不能裝入新的頁(段),則需要利用系統已全部占用,不能裝入新的頁(段),則需要利用系統的置換功能,把內存中暫時不用的頁(段)調出至磁盤的置換功能,把內存中暫時不用的頁(段)調出至磁盤上,騰出足夠的內存空間,再將所要裝入的頁(段)調上,騰出足夠的內存空間,再將所要裝入的頁(段)調入內存,使程序能夠繼續運行下去。入內存,使程序能夠繼續運行下去。 55.15.1 虛擬存儲器虛擬存儲器n虛擬存儲器的定義:是指僅把進程的一部分裝入內存便是指僅把進

6、程的一部分裝入內存便可運行的存儲器系統,它具有請求調入功能和置換功能,可運行的存儲器系統,它具有請求調入功能和置換功能,能從邏輯上對內存容量進行擴充的一種存儲器系統。能從邏輯上對內存容量進行擴充的一種存儲器系統。n虛擬存儲器的邏輯容量:虛擬存儲器的邏輯容量由系統虛擬存儲器的邏輯容量由系統的尋址能力和外存容量之和所決定。的尋址能力和外存容量之和所決定。 判斷題:虛擬存儲器是一個假想的地址空間,因而這個地址空間判斷題:虛擬存儲器是一個假想的地址空間,因而這個地址空間的大小是沒有限制的()的大小是沒有限制的() (東南大學(東南大學2001)分析:在虛擬存儲器中,用戶的地址空間仍然受到地址字長和分析

7、:在虛擬存儲器中,用戶的地址空間仍然受到地址字長和外存容量的限制。虛擬存儲器的外存容量的限制。虛擬存儲器的最大容量最大容量受受地址地址長度(地址總長度(地址總線位數)決定,一個線位數)決定,一個擁有擁有32位地址長度的系統位地址長度的系統,其虛擬內存最,其虛擬內存最大為大為232字節。當然,一個字節。當然,一個實際的虛擬存儲器實際的虛擬存儲器的大小還會受到輔的大小還會受到輔助存儲器大小的限制。助存儲器大小的限制。答案答案 錯錯65.15.1 虛擬存儲器虛擬存儲器虛擬內存的特征虛擬內存的特征: :n虛擬性。虛擬性。虛擬內存不是擴大實際的物理內存,而是擴充邏虛擬內存不是擴大實際的物理內存,而是擴充

8、邏輯內存的容量。輯內存的容量。n部分裝入。部分裝入。每個進程不是全部裝入內存,而是分成若干個每個進程不是全部裝入內存,而是分成若干個部分。當進程需要執行時,才將當前運行所需要的程序和部分。當進程需要執行時,才將當前運行所需要的程序和數據裝入內存。數據裝入內存。n對換性。對換性。在一個進程運行期間,它所需要的程序和數據可在一個進程運行期間,它所需要的程序和數據可以分多次調入。每次僅僅調入一部分,以滿足當前程序執以分多次調入。每次僅僅調入一部分,以滿足當前程序執行的需要。而且,在內存中那些暫時不使用的程序和數據行的需要。而且,在內存中那些暫時不使用的程序和數據可以換到外存的交換區存放,以騰出盡量多

9、的內存空間供可以換到外存的交換區存放,以騰出盡量多的內存空間供可運行進程使用。可運行進程使用。7 頁式虛擬存儲頁式虛擬存儲 它是在分頁系統的基礎上,增加了請求調頁功能、頁面置換它是在分頁系統的基礎上,增加了請求調頁功能、頁面置換功能所形成的虛擬存儲系統。功能所形成的虛擬存儲系統。 系統必須提供的硬件支持:系統必須提供的硬件支持: 請求分頁的頁表機構請求分頁的頁表機構 缺頁中斷機構缺頁中斷機構 地址變換機構地址變換機構 段式虛擬存儲段式虛擬存儲 這是在分段系統的基礎上,增加了請求調段功能及分段置換這是在分段系統的基礎上,增加了請求調段功能及分段置換功能后,所形成的段式虛擬存儲系統。功能后,所形成

10、的段式虛擬存儲系統。 系統必須提供的硬件支持:系統必須提供的硬件支持: 請求分段的段表機構請求分段的段表機構 缺段中斷機構缺段中斷機構 地址變換機構地址變換機構5.1.25.1.2虛擬存儲器的實現方式:虛擬存儲器的實現方式:q 頁式虛擬存貯頁式虛擬存貯q 段式虛擬存儲段式虛擬存儲 8選擇題:選擇題:_存儲擴充方式,能夠實際增加存儲單元。存儲擴充方式,能夠實際增加存儲單元。 A)覆蓋技術覆蓋技術 B)交換技術交換技術 C)物理擴充物理擴充 D)虛擬存儲技術虛擬存儲技術 填空題:分區存儲管理方案不能實現虛擬的原因是填空題:分區存儲管理方案不能實現虛擬的原因是_。 簡答題:覆蓋技術與虛擬存儲技術有何

11、本質不同?交換技術與虛存簡答題:覆蓋技術與虛擬存儲技術有何本質不同?交換技術與虛存中使用的調入中使用的調入/調出技術有何相同與不同之處?調出技術有何相同與不同之處?參考答案:覆蓋技術與虛擬存儲技術最本質的不同在于覆蓋的程序參考答案:覆蓋技術與虛擬存儲技術最本質的不同在于覆蓋的程序段的最大長度要受到物理內存容量的限制段的最大長度要受到物理內存容量的限制,而虛擬存儲器的最大長度而虛擬存儲器的最大長度不受物理內存容量的限制不受物理內存容量的限制,只受計算機地址結構的限制。另外只受計算機地址結構的限制。另外,使用覆使用覆蓋技術要求程序員必須精心地設計程序及其數據結構蓋技術要求程序員必須精心地設計程序及

12、其數據結構,使得要覆蓋的使得要覆蓋的段具有相對獨立性段具有相對獨立性,不存在直接聯系或相互交叉訪問。而虛擬存儲技不存在直接聯系或相互交叉訪問。而虛擬存儲技術對用戶的程序段之間沒有此要求。術對用戶的程序段之間沒有此要求。交換技術與虛存中使用的調入交換技術與虛存中使用的調入/調出技術的主要相同點是都要在內存調出技術的主要相同點是都要在內存與外存之間交換信息。交換技術與虛存中使用的調入與外存之間交換信息。交換技術與虛存中使用的調入/調出技術的主調出技術的主要區別在于:交換技術換進換出整個進程,因此一個進程的大小受要區別在于:交換技術換進換出整個進程,因此一個進程的大小受物理存儲器的限制;而虛存中使用

13、的調入物理存儲器的限制;而虛存中使用的調入/調出技術在內存和外存之調出技術在內存和外存之間來回傳遞的是存儲頁或存儲段,而不是整個進程,從而使得進程間來回傳遞的是存儲頁或存儲段,而不是整個進程,從而使得進程的地址映射具有了更大的靈活性,且允許進程的大小比可用的物理的地址映射具有了更大的靈活性,且允許進程的大小比可用的物理存儲空間大得多。存儲空間大得多。9何謂虛擬存儲器何謂虛擬存儲器?舉一例說明操作系統是如何實現虛擬內舉一例說明操作系統是如何實現虛擬內存的。存的。 (西交大(西交大1999)在操作系統中在操作系統中,通過一些硬件和軟件的措施為用戶提供了通過一些硬件和軟件的措施為用戶提供了一個其容量

14、比實際主存大得多的存儲器一個其容量比實際主存大得多的存儲器,稱為虛擬存儲器。稱為虛擬存儲器。操作系統要實現虛擬內存操作系統要實現虛擬內存,必須把主存和輔存統一管理起必須把主存和輔存統一管理起來來,即大作業程序在執行時即大作業程序在執行時,有一部分地址空間在主存有一部分地址空間在主存,另一另一部分在輔存部分在輔存,當訪問的信息不在主存時當訪問的信息不在主存時,由操作系統將其調由操作系統將其調入主存并實現自動覆蓋功能入主存并實現自動覆蓋功能,使用戶在編寫程序時不再受使用戶在編寫程序時不再受主存容量的限制。主存容量的限制。例如在請求分頁存儲管理系統中例如在請求分頁存儲管理系統中,用戶作業的所有頁面并

15、用戶作業的所有頁面并不一定都在實存不一定都在實存,在作業運行過程中再請求調入所用的虛在作業運行過程中再請求調入所用的虛頁。為了實現從邏輯地址空間到物理地址空間的變換頁。為了實現從邏輯地址空間到物理地址空間的變換,在在硬件上必須提供一套地址變換機構硬件上必須提供一套地址變換機構,動態地址變換機構自動態地址變換機構自動地將所有的邏輯地址劃分為頁號和頁內地址兩部分動地將所有的邏輯地址劃分為頁號和頁內地址兩部分,并并利用頁表將頁號代之以塊號利用頁表將頁號代之以塊號,把塊號和頁內地址拼接就得把塊號和頁內地址拼接就得到了內存的物理地址到了內存的物理地址,從而實現了虛擬存儲器。從而實現了虛擬存儲器。105.

16、25.2 請求分頁技術請求分頁技術 5.2.1 5.2.1 請求分頁存儲管理的基本思想請求分頁存儲管理的基本思想n請求式分頁也稱虛擬頁式存儲管理,它的基本思想是:在進程開始運行請求式分頁也稱虛擬頁式存儲管理,它的基本思想是:在進程開始運行之前,不是裝入全部頁面,而是裝入一個或零個頁面,之后根據進程運之前,不是裝入全部頁面,而是裝入一個或零個頁面,之后根據進程運行的需要,動態裝入其它頁面;當內存空間已滿,而又需要裝入新的頁行的需要,動態裝入其它頁面;當內存空間已滿,而又需要裝入新的頁面時,則根據某種算法淘汰某個頁面,以便裝入新的頁面。面時,則根據某種算法淘汰某個頁面,以便裝入新的頁面。 n為了實

17、現頁式虛存,系統需要解決下面三個問題:為了實現頁式虛存,系統需要解決下面三個問題: (1 1)系統如何獲知進程當前所需頁面不在主存。)系統如何獲知進程當前所需頁面不在主存。 (2 2)當發現缺頁時,如何把所缺頁面調入主存。)當發現缺頁時,如何把所缺頁面調入主存。 (3 3)當主存中沒有空閑的物理塊時,為了要接受一個新頁,需要把老的)當主存中沒有空閑的物理塊時,為了要接受一個新頁,需要把老的一頁淘汰出去,根據什么策略選擇欲淘汰的頁面。一頁淘汰出去,根據什么策略選擇欲淘汰的頁面。擴充頁表擴充頁表缺頁中斷缺頁中斷頁面置換算法頁面置換算法11n頁表機制:純分頁的頁表只有兩項:頁號和物理塊。而請求分頁存

18、儲管理增加了調入功能和置換功能,故需在頁表中增加若干項,供程序在換進換出時參考。下面所示是一請求分頁系統中的頁表:頁號物理塊號 狀態位P 訪問字段A 修改位M 外存地址u狀態位P:用于指示該頁是否已調入內存,0表示該頁已在內存,1表示該頁不在內存,供程序訪問時參考; u訪問字段A:用于記錄該頁在一段時間內被訪問的次數,或最近已有多長時間未被訪問,供置換算法選擇頁面時參考;u 修改位M:用于記錄該頁在調入內存后是否被修改過。由于內存中的每一頁都在外存上保留一個副本,因此,若未被修改,在置換該頁時就不需將該頁寫回到磁盤上,以減少系統的開銷和啟動磁盤的次數;若已被修改,則必須將該頁重寫回磁盤上,以保

19、證磁盤上所保留的始終是最新副本。 u外存地址:用于指出該頁在外存上的地址,通常是物理塊號,供調入該頁時使用。12n請求分頁存儲管理示意圖:請求分頁存儲管理示意圖:物理地址空間頁面映射表存儲空間頁號 塊號 狀態作業10110430001作業20123作業30123410610329011011103212700412345678910111213135.25.2 請求分頁技術請求分頁技術n程序在執行時,首先檢查頁表,當狀態位指示該程序在執行時,首先檢查頁表,當狀態位指示該頁不在主存時,則引起一個缺頁中斷發生,相應頁不在主存時,則引起一個缺頁中斷發生,相應的中斷處理程序把控制轉向缺頁中斷子程序。執

20、的中斷處理程序把控制轉向缺頁中斷子程序。執行此子程序,即把所缺頁面裝入主存。然后處理行此子程序,即把所缺頁面裝入主存。然后處理機重新執行缺頁時打斷的指令。這時,就將順利機重新執行缺頁時打斷的指令。這時,就將順利形成物理地址。形成物理地址。n缺頁中斷的處理過程是由硬件和軟件共同實現的。缺頁中斷的處理過程是由硬件和軟件共同實現的。 2.2.缺頁中斷缺頁中斷14TO B指令指令copy A A: B:頁面頁面65432115頁面大小問題頁面大小問題頁面大小是一個重要的硬件設計問題頁面大小是一個重要的硬件設計問題n小頁面有利于減少內碎片總量小頁面有利于減少內碎片總量n大頁面有利于減小每進程的頁表容量大

21、頁面有利于減小每進程的頁表容量n大頁面有利于實現有效的磁盤數據塊傳送大頁面有利于實現有效的磁盤數據塊傳送16頁面大小與缺頁率頁面大小與缺頁率頁面大小會影響頁面大小會影響缺頁率( “缺頁次數缺頁次數/ /內存訪問內存訪問次數次數”或或“缺頁的平均時間間隔缺頁的平均時間間隔”) 缺頁率與頁面大小的關系:缺頁率與頁面大小的關系:頁面很小:每個進程的內存頁較多,通過調頁很快適應局部性原理的要求,缺頁率低。頁面很大:進程使用的大部分地址空間都在內存,缺頁率低。頁面中等大小:局部性區域只占每頁的較小部分,缺頁率高。17頁面大小與軟件策略頁面大小與軟件策略頁面大小也受軟件策略影響頁面大小也受軟件策略影響頁大

22、小固定時,缺頁率與頁大小固定時,缺頁率與分配給分配給進程的進程的內存內存頁面數目頁面數目的關系:的關系:n數目越多數目越多,缺頁率越低。缺頁率越低。n頁面數目的下限應該是一條指頁面數目的下限應該是一條指令及其操作數可能涉及的頁面令及其操作數可能涉及的頁面n數目的上限數目的上限應該是足以應該是足以保證每保證每條指令都能被執行。條指令都能被執行。18n地址變換機構:地址變換機構:請求分頁系統中的地址變換機請求分頁系統中的地址變換機構,是在分頁系統的地址變換機構的基礎上,構,是在分頁系統的地址變換機構的基礎上,為實現虛擬存儲器而增加了產生和處理缺頁中為實現虛擬存儲器而增加了產生和處理缺頁中斷、頁面置

23、換等功能而形成的。下圖給出了請斷、頁面置換等功能而形成的。下圖給出了請求分頁系統的地址變換過程。求分頁系統的地址變換過程。19請求分頁中的地址變換過程請求分頁中的地址變換過程缺頁中斷處理缺頁中斷處理保留保留CPU現場現場從外存中找到缺頁從外存中找到缺頁內存滿否?內存滿否?選擇一頁換出選擇一頁換出該頁被修改否?該頁被修改否?將該頁寫回外存將該頁寫回外存啟動啟動I/O硬件硬件將一頁從外存換入內存將一頁從外存換入內存修改頁表修改頁表否否是是是是否否頁表項在快表中?頁表項在快表中?CPU檢索快表檢索快表訪問頁表訪問頁表否否頁在內存?頁在內存?修改訪問位和修改位修改訪問位和修改位形成物理地址形成物理地址

24、地址變換結束地址變換結束否否頁號頁頁號頁表長度表長度? ?開始開始程序請求訪問一頁程序請求訪問一頁產生缺頁中產生缺頁中斷請求調頁斷請求調頁修改快表修改快表是是越界中斷越界中斷是是是是OS命令命令CPU從外存讀缺頁從外存讀缺頁20在為進程分配物理塊時,要解決下列的三個問題:在為進程分配物理塊時,要解決下列的三個問題:1 1、保證進程可正常運行所需要的最少物理塊數、保證進程可正常運行所需要的最少物理塊數 最小物理塊數的確定。最小物理塊數的確定。2 2、每個進程的物理塊數,是固定值還是可變值、每個進程的物理塊數,是固定值還是可變值 物理塊的分配策略。物理塊的分配策略。3 3、不同進程所分配的物理塊數

25、,是采用平均分配算法還是、不同進程所分配的物理塊數,是采用平均分配算法還是根據進程的大小按照比例予以分配根據進程的大小按照比例予以分配 物理塊的分配算法。物理塊的分配算法。21如:如: Mov A, BMov A, B允許間接尋址:則至少要求允許間接尋址:則至少要求3 3個物理塊。個物理塊。mov A,B1000XXXX222. 物理塊的分配策略物理塊的分配策略 231)固定分配局部置換)固定分配局部置換思路:思路:分配固定數目的內存空間(物理塊),在分配固定數目的內存空間(物理塊),在整個運行期間都不改變。整個運行期間都不改變。策略:策略:如果缺頁,則如果缺頁,則只能只能從該進程在內存的頁面

26、從該進程在內存的頁面中選中一頁,進行換出操作,然后再調入一頁。中選中一頁,進行換出操作,然后再調入一頁。特點:特點:為每個進程分配多少物理塊是合適的值難為每個進程分配多少物理塊是合適的值難以確定。(少:置換率高以確定。(少:置換率高 多:資源浪費)。多:資源浪費)。2. 物理塊的分配策略物理塊的分配策略 242 2)可變分配全局置換)可變分配全局置換思路:思路:每個進程預先分配一定數目的物理塊,同每個進程預先分配一定數目的物理塊,同時時OSOS也保持一個空閑物理塊隊列。也保持一個空閑物理塊隊列。策略:策略:當缺頁時,首先將對當缺頁時,首先將對OSOS所占有的空閑塊進所占有的空閑塊進行分配,從而

27、增加了各進程的物理塊數。當行分配,從而增加了各進程的物理塊數。當OSOS的的空閑塊全部用完,將引起換出操作空閑塊全部用完,將引起換出操作,OS,OS從內存中從內存中選擇一頁,可能是系統中任一進程的頁。選擇一頁,可能是系統中任一進程的頁。是一種最易實現的策略是一種最易實現的策略2. 物理塊的分配策略物理塊的分配策略 253 3)可變分配局部置換)可變分配局部置換思路:思路:先為每個進程預先分配一定數目的物理塊,先為每個進程預先分配一定數目的物理塊,系統根據缺頁率動態調整各進程占有的物理塊數系統根據缺頁率動態調整各進程占有的物理塊數目,使其保持在一個比較低的缺頁率狀態下。目,使其保持在一個比較低的

28、缺頁率狀態下。策略:策略:如果缺頁,則先從該進程在內存的頁面中如果缺頁,則先從該進程在內存的頁面中選中一頁,進行換出操作選中一頁,進行換出操作特點:特點:使大部分進程可以達到比較近似的性能使大部分進程可以達到比較近似的性能2. 物理塊的分配策略物理塊的分配策略 263. 物理塊分配算法物理塊分配算法將系統中所有可供分配的物理塊,平均分配給各將系統中所有可供分配的物理塊,平均分配給各個進程。個進程。缺點缺點:未考慮各進程本身的大小。:未考慮各進程本身的大小。27niiSS1mSSbii3. 物理塊分配算法物理塊分配算法28在實際應用中,為了照顧重要的、急迫的作業盡快在實際應用中,為了照顧重要的、

29、急迫的作業盡快完成,應為它分配較多的內存空間。完成,應為它分配較多的內存空間。方法:一部分按方法:一部分按比例比例分配給各進程;另一部分則根分配給各進程;另一部分則根據各進程的據各進程的優先權優先權,適當地增加其相應份額后,分,適當地增加其相應份額后,分配給各進程。配給各進程。3. 物理塊分配算法物理塊分配算法29預調頁策略:由于在外存上查找所缺的頁,須經歷較長的時間。如果一個進程存放在外存中的許多頁在一個連續的區域中,每次調入若干個頁會比每次調入一頁更高效些。但如果調入的一批頁面中的大多數都未被訪問,則這種調入又是低效的。可見,如果預測比較準確,會大大降低缺頁中斷率,從而提高進程的推進速度。

30、請求調頁策略:當發生缺頁中斷時進行調度,即當訪問某一頁而該頁不在內存時,立即提出請求,由系統將所需頁面調入內存。顯然,采用純請求調頁策略,被調入內存的頁面一定會被用到,不會發生無意義的頁面調度。但是,請求調頁策略也有一個缺點,從缺頁中斷發生到頁面被調入內存,發生缺頁中斷的進程必須等待,影響了進程的推進速度。30在請求分頁系統中的外存分為兩部分:用于存放文件的文件區和用于存放對換頁面的對換區。通常,由于對換區是采用連續分配方式,而文件區是采用離散分配方式,故對換區的磁盤I/O速度比文件區的高。這樣,每當發生缺頁請求時,系統應從何處將缺頁調入內存,可分成如下三種情況:(1) 系統擁有足夠的對換區空

31、間,這時可以全部從對換區調入所需頁面,以提高調頁速度。為此,在進程運行前, 便須將與該進程有關的文件,從文件區拷貝到對換區。 31(2) 系統缺少足夠的對換區空間,這時凡是不會被修改的文件,系統缺少足夠的對換區空間,這時凡是不會被修改的文件,都直接從文件區調入;而當換出這些頁面時,由于它們未被都直接從文件區調入;而當換出這些頁面時,由于它們未被修改而不必再將它們換出,以后再調入時,仍從文件區直接修改而不必再將它們換出,以后再調入時,仍從文件區直接調入。但對于那些可能被修改的部分,在將它們換出時,便調入。但對于那些可能被修改的部分,在將它們換出時,便須調到對換區,以后需要時,再從對換區調入。須調

32、到對換區,以后需要時,再從對換區調入。(3) UNIX方式。由于與進程有關的文件都放在文件區,故凡方式。由于與進程有關的文件都放在文件區,故凡是未運行過的頁面,都應從文件區調入。而對于曾經運行過是未運行過的頁面,都應從文件區調入。而對于曾經運行過但又被換出的頁面,由于是被放在對換區,因此在下次調入但又被換出的頁面,由于是被放在對換區,因此在下次調入時,應從對換區調入。由于時,應從對換區調入。由于UNIX系統允許頁面共享,因此,系統允許頁面共享,因此, 某進程所請求的頁面有可能已被其它進程調入內存,此時也某進程所請求的頁面有可能已被其它進程調入內存,此時也就無須再從對換區調入。就無須再從對換區調

33、入。 32頁面調入過程頁面調入過程n每當程序所要訪問的頁面未在內存時,便向每當程序所要訪問的頁面未在內存時,便向CPU發發出一出一缺頁中斷缺頁中斷,中斷處理程序首先保留,中斷處理程序首先保留CPU環境,環境,分析中斷原因后,轉入缺頁中斷處理程序。該程序分析中斷原因后,轉入缺頁中斷處理程序。該程序通過查找頁表,得到該頁在外存的物理塊地址。通過查找頁表,得到該頁在外存的物理塊地址。n若此時內存能容納新頁,則啟動磁盤若此時內存能容納新頁,則啟動磁盤I/O將所缺之頁將所缺之頁調入內存,然后修改頁表。調入內存,然后修改頁表。n若內存已滿,則須先按照某種置換算法從內存中選若內存已滿,則須先按照某種置換算法

34、從內存中選出一頁準備換出:出一頁準備換出:w頁頁未被修改未被修改過,可不必將該頁寫回磁盤過,可不必將該頁寫回磁盤w頁頁已被修改已被修改過,過, 則必須將它則必須將它寫回磁盤寫回磁盤,然后再把所缺的,然后再把所缺的頁調入內存,頁調入內存, 并修改頁表中的相應表項,置其狀態位為并修改頁表中的相應表項,置其狀態位為“1”,并將此頁表項,并將此頁表項寫入快表中寫入快表中。n在缺頁調入內存后,利用修改后的頁表,去形成所在缺頁調入內存后,利用修改后的頁表,去形成所要訪問數據的物理地址,再去訪問內存數據。要訪問數據的物理地址,再去訪問內存數據。333. 頁面調入過程頁面調入過程頁面調入頁面調入頁面在內存頁面

35、在內存頁面未在內存頁面未在內存內存能容納新頁內存能容納新頁內存已滿內存已滿該頁未被修改過該頁未被修改過該頁已被修改該頁已被修改34設作業的虛擬地址為設作業的虛擬地址為24位位,其中高其中高8位為段號位為段號,低低16位為段內相對地址。試問:位為段內相對地址。試問:(1)一個作業最多可以有多少段一個作業最多可以有多少段?(2)每段的最大長度為多少字節每段的最大長度為多少字節?(3)某段式存儲管理采用如下段表某段式存儲管理采用如下段表,試計算試計算0,430、1,50、2,30、3,70的主存地址。其中方括號內的主存地址。其中方括號內的前一元素為段號的前一元素為段號,后一元素為段內地址。當無法后一元素為段內地址。當無法進行地址變換時進行地址變換時,應說明產生何種中斷。應說明產生何種中斷。35參考答案:參考答案:(1)一個作業最多可以有一個作業最多可以有28=254個段。個段。(2)每段的最大長度為每段的最大長度為216=64KB=65536字節。字節。(3)邏輯地址邏輯地址0,430的主存地址為的主存地址為: 21

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論