




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第四章第四章 存儲器管理存儲器管理主主 講:趙恒講:趙恒25.15.1 虛擬存儲器虛擬存儲器 前面所介紹的各種存儲管理方式,有一個共同的特點,前面所介紹的各種存儲管理方式,有一個共同的特點,即它們都要求將一個作業(yè)全部裝入內(nèi)存后才能運行即它們都要求將一個作業(yè)全部裝入內(nèi)存后才能運行,于是,于是,就可能出現(xiàn)以下情況:就可能出現(xiàn)以下情況: (1) 有的作業(yè)很大,其所要求內(nèi)存空間超過了內(nèi)存容量,有的作業(yè)很大,其所要求內(nèi)存空間超過了內(nèi)存容量,從而導(dǎo)致作業(yè)不能全部被裝入內(nèi)存,以至于該作業(yè)無法運從而導(dǎo)致作業(yè)不能全部被裝入內(nèi)存,以至于該作業(yè)無法運行。行。 (2) 有多個作業(yè)要求運行,但可用的內(nèi)存空間不足以容納有
2、多個作業(yè)要求運行,但可用的內(nèi)存空間不足以容納所有的作業(yè),只能將少數(shù)的作業(yè)裝入內(nèi)存讓它們先運行,所有的作業(yè),只能將少數(shù)的作業(yè)裝入內(nèi)存讓它們先運行,而將其他的作業(yè)留在外存等待。而將其他的作業(yè)留在外存等待。35.15.1 虛擬存儲器虛擬存儲器 常規(guī)存儲器管理方式的特征常規(guī)存儲器管理方式的特征 (1 1)一次性:)一次性:作業(yè)在運行前需一次性地全部裝入內(nèi)存。將作業(yè)在運行前需一次性地全部裝入內(nèi)存。將導(dǎo)致上述兩問題。導(dǎo)致上述兩問題。 (2 2)駐留性:)駐留性:作業(yè)裝入內(nèi)存后,便一直駐留內(nèi)存,直至作作業(yè)裝入內(nèi)存后,便一直駐留內(nèi)存,直至作業(yè)運行結(jié)束。業(yè)運行結(jié)束。n局部性原理局部性原理 指程序在執(zhí)行時呈現(xiàn)出局
3、部性規(guī)律,即在一較短時間內(nèi),指程序在執(zhí)行時呈現(xiàn)出局部性規(guī)律,即在一較短時間內(nèi),程序的執(zhí)行僅限于某個部分,相應(yīng)地,它所訪問的存儲空間程序的執(zhí)行僅限于某個部分,相應(yīng)地,它所訪問的存儲空間也局限于某個區(qū)域。也局限于某個區(qū)域。 局部性又表現(xiàn)為時間局部性局部性又表現(xiàn)為時間局部性( (由于大量的循環(huán)操作,某由于大量的循環(huán)操作,某指令或數(shù)據(jù)被訪問后,則不久可能會被再次訪問指令或數(shù)據(jù)被訪問后,則不久可能會被再次訪問) )和空間局部和空間局部性(如順序執(zhí)行,指程序在一段時間內(nèi)訪問的地址,可能集性(如順序執(zhí)行,指程序在一段時間內(nèi)訪問的地址,可能集中在一定的范圍之內(nèi))。中在一定的范圍之內(nèi))。實現(xiàn)虛擬存儲器的理論基礎(chǔ)
4、:局部性原理。局部性原理。45.15.1 虛擬存儲器虛擬存儲器實現(xiàn)方法:n一個進程在運行之時,沒有必要全部裝入內(nèi)存,而只把一個進程在運行之時,沒有必要全部裝入內(nèi)存,而只把當前運行所需要的頁(段)裝入內(nèi)存便可啟動運行,而當前運行所需要的頁(段)裝入內(nèi)存便可啟動運行,而其余部分則存放在磁盤上。程序在運行時,如果所需要其余部分則存放在磁盤上。程序在運行時,如果所需要的頁(段)已經(jīng)調(diào)入內(nèi)存,便可以繼續(xù)執(zhí)行下去。如果的頁(段)已經(jīng)調(diào)入內(nèi)存,便可以繼續(xù)執(zhí)行下去。如果所需要的頁(段)不在內(nèi)存,此時程序應(yīng)利用操作系統(tǒng)所需要的頁(段)不在內(nèi)存,此時程序應(yīng)利用操作系統(tǒng)所提供的請求調(diào)頁(段)功能,將該頁(段)調(diào)入內(nèi)
5、存,所提供的請求調(diào)頁(段)功能,將該頁(段)調(diào)入內(nèi)存,以使程序能夠運行下去。如果此時分配給該程序的內(nèi)存以使程序能夠運行下去。如果此時分配給該程序的內(nèi)存已全部占用,不能裝入新的頁(段),則需要利用系統(tǒng)已全部占用,不能裝入新的頁(段),則需要利用系統(tǒng)的置換功能,把內(nèi)存中暫時不用的頁(段)調(diào)出至磁盤的置換功能,把內(nèi)存中暫時不用的頁(段)調(diào)出至磁盤上,騰出足夠的內(nèi)存空間,再將所要裝入的頁(段)調(diào)上,騰出足夠的內(nèi)存空間,再將所要裝入的頁(段)調(diào)入內(nèi)存,使程序能夠繼續(xù)運行下去。入內(nèi)存,使程序能夠繼續(xù)運行下去。 55.15.1 虛擬存儲器虛擬存儲器n虛擬存儲器的定義:是指僅把進程的一部分裝入內(nèi)存便是指僅把進
6、程的一部分裝入內(nèi)存便可運行的存儲器系統(tǒng),它具有請求調(diào)入功能和置換功能,可運行的存儲器系統(tǒng),它具有請求調(diào)入功能和置換功能,能從邏輯上對內(nèi)存容量進行擴充的一種存儲器系統(tǒng)。能從邏輯上對內(nèi)存容量進行擴充的一種存儲器系統(tǒng)。n虛擬存儲器的邏輯容量:虛擬存儲器的邏輯容量由系統(tǒng)虛擬存儲器的邏輯容量由系統(tǒng)的尋址能力和外存容量之和所決定。的尋址能力和外存容量之和所決定。 判斷題:虛擬存儲器是一個假想的地址空間,因而這個地址空間判斷題:虛擬存儲器是一個假想的地址空間,因而這個地址空間的大小是沒有限制的()的大小是沒有限制的() (東南大學(東南大學2001)分析:在虛擬存儲器中,用戶的地址空間仍然受到地址字長和分析
7、:在虛擬存儲器中,用戶的地址空間仍然受到地址字長和外存容量的限制。虛擬存儲器的外存容量的限制。虛擬存儲器的最大容量最大容量受受地址地址長度(地址總長度(地址總線位數(shù))決定,一個線位數(shù))決定,一個擁有擁有32位地址長度的系統(tǒng)位地址長度的系統(tǒng),其虛擬內(nèi)存最,其虛擬內(nèi)存最大為大為232字節(jié)。當然,一個字節(jié)。當然,一個實際的虛擬存儲器實際的虛擬存儲器的大小還會受到輔的大小還會受到輔助存儲器大小的限制。助存儲器大小的限制。答案答案 錯錯65.15.1 虛擬存儲器虛擬存儲器虛擬內(nèi)存的特征虛擬內(nèi)存的特征: :n虛擬性。虛擬性。虛擬內(nèi)存不是擴大實際的物理內(nèi)存,而是擴充邏虛擬內(nèi)存不是擴大實際的物理內(nèi)存,而是擴充
8、邏輯內(nèi)存的容量。輯內(nèi)存的容量。n部分裝入。部分裝入。每個進程不是全部裝入內(nèi)存,而是分成若干個每個進程不是全部裝入內(nèi)存,而是分成若干個部分。當進程需要執(zhí)行時,才將當前運行所需要的程序和部分。當進程需要執(zhí)行時,才將當前運行所需要的程序和數(shù)據(jù)裝入內(nèi)存。數(shù)據(jù)裝入內(nèi)存。n對換性。對換性。在一個進程運行期間,它所需要的程序和數(shù)據(jù)可在一個進程運行期間,它所需要的程序和數(shù)據(jù)可以分多次調(diào)入。每次僅僅調(diào)入一部分,以滿足當前程序執(zhí)以分多次調(diào)入。每次僅僅調(diào)入一部分,以滿足當前程序執(zhí)行的需要。而且,在內(nèi)存中那些暫時不使用的程序和數(shù)據(jù)行的需要。而且,在內(nèi)存中那些暫時不使用的程序和數(shù)據(jù)可以換到外存的交換區(qū)存放,以騰出盡量多
9、的內(nèi)存空間供可以換到外存的交換區(qū)存放,以騰出盡量多的內(nèi)存空間供可運行進程使用??蛇\行進程使用。7 頁式虛擬存儲頁式虛擬存儲 它是在分頁系統(tǒng)的基礎(chǔ)上,增加了請求調(diào)頁功能、頁面置換它是在分頁系統(tǒng)的基礎(chǔ)上,增加了請求調(diào)頁功能、頁面置換功能所形成的虛擬存儲系統(tǒng)。功能所形成的虛擬存儲系統(tǒng)。 系統(tǒng)必須提供的硬件支持:系統(tǒng)必須提供的硬件支持: 請求分頁的頁表機構(gòu)請求分頁的頁表機構(gòu) 缺頁中斷機構(gòu)缺頁中斷機構(gòu) 地址變換機構(gòu)地址變換機構(gòu) 段式虛擬存儲段式虛擬存儲 這是在分段系統(tǒng)的基礎(chǔ)上,增加了請求調(diào)段功能及分段置換這是在分段系統(tǒng)的基礎(chǔ)上,增加了請求調(diào)段功能及分段置換功能后,所形成的段式虛擬存儲系統(tǒng)。功能后,所形成
10、的段式虛擬存儲系統(tǒng)。 系統(tǒng)必須提供的硬件支持:系統(tǒng)必須提供的硬件支持: 請求分段的段表機構(gòu)請求分段的段表機構(gòu) 缺段中斷機構(gòu)缺段中斷機構(gòu) 地址變換機構(gòu)地址變換機構(gòu)5.1.25.1.2虛擬存儲器的實現(xiàn)方式:虛擬存儲器的實現(xiàn)方式:q 頁式虛擬存貯頁式虛擬存貯q 段式虛擬存儲段式虛擬存儲 8選擇題:選擇題:_存儲擴充方式,能夠?qū)嶋H增加存儲單元。存儲擴充方式,能夠?qū)嶋H增加存儲單元。 A)覆蓋技術(shù)覆蓋技術(shù) B)交換技術(shù)交換技術(shù) C)物理擴充物理擴充 D)虛擬存儲技術(shù)虛擬存儲技術(shù) 填空題:分區(qū)存儲管理方案不能實現(xiàn)虛擬的原因是填空題:分區(qū)存儲管理方案不能實現(xiàn)虛擬的原因是_。 簡答題:覆蓋技術(shù)與虛擬存儲技術(shù)有何
11、本質(zhì)不同?交換技術(shù)與虛存簡答題:覆蓋技術(shù)與虛擬存儲技術(shù)有何本質(zhì)不同?交換技術(shù)與虛存中使用的調(diào)入中使用的調(diào)入/調(diào)出技術(shù)有何相同與不同之處?調(diào)出技術(shù)有何相同與不同之處?參考答案:覆蓋技術(shù)與虛擬存儲技術(shù)最本質(zhì)的不同在于覆蓋的程序參考答案:覆蓋技術(shù)與虛擬存儲技術(shù)最本質(zhì)的不同在于覆蓋的程序段的最大長度要受到物理內(nèi)存容量的限制段的最大長度要受到物理內(nèi)存容量的限制,而虛擬存儲器的最大長度而虛擬存儲器的最大長度不受物理內(nèi)存容量的限制不受物理內(nèi)存容量的限制,只受計算機地址結(jié)構(gòu)的限制。另外只受計算機地址結(jié)構(gòu)的限制。另外,使用覆使用覆蓋技術(shù)要求程序員必須精心地設(shè)計程序及其數(shù)據(jù)結(jié)構(gòu)蓋技術(shù)要求程序員必須精心地設(shè)計程序及
12、其數(shù)據(jù)結(jié)構(gòu),使得要覆蓋的使得要覆蓋的段具有相對獨立性段具有相對獨立性,不存在直接聯(lián)系或相互交叉訪問。而虛擬存儲技不存在直接聯(lián)系或相互交叉訪問。而虛擬存儲技術(shù)對用戶的程序段之間沒有此要求。術(shù)對用戶的程序段之間沒有此要求。交換技術(shù)與虛存中使用的調(diào)入交換技術(shù)與虛存中使用的調(diào)入/調(diào)出技術(shù)的主要相同點是都要在內(nèi)存調(diào)出技術(shù)的主要相同點是都要在內(nèi)存與外存之間交換信息。交換技術(shù)與虛存中使用的調(diào)入與外存之間交換信息。交換技術(shù)與虛存中使用的調(diào)入/調(diào)出技術(shù)的主調(diào)出技術(shù)的主要區(qū)別在于:交換技術(shù)換進換出整個進程,因此一個進程的大小受要區(qū)別在于:交換技術(shù)換進換出整個進程,因此一個進程的大小受物理存儲器的限制;而虛存中使用
13、的調(diào)入物理存儲器的限制;而虛存中使用的調(diào)入/調(diào)出技術(shù)在內(nèi)存和外存之調(diào)出技術(shù)在內(nèi)存和外存之間來回傳遞的是存儲頁或存儲段,而不是整個進程,從而使得進程間來回傳遞的是存儲頁或存儲段,而不是整個進程,從而使得進程的地址映射具有了更大的靈活性,且允許進程的大小比可用的物理的地址映射具有了更大的靈活性,且允許進程的大小比可用的物理存儲空間大得多。存儲空間大得多。9何謂虛擬存儲器何謂虛擬存儲器?舉一例說明操作系統(tǒng)是如何實現(xiàn)虛擬內(nèi)舉一例說明操作系統(tǒng)是如何實現(xiàn)虛擬內(nèi)存的。存的。 (西交大(西交大1999)在操作系統(tǒng)中在操作系統(tǒng)中,通過一些硬件和軟件的措施為用戶提供了通過一些硬件和軟件的措施為用戶提供了一個其容量
14、比實際主存大得多的存儲器一個其容量比實際主存大得多的存儲器,稱為虛擬存儲器。稱為虛擬存儲器。操作系統(tǒng)要實現(xiàn)虛擬內(nèi)存操作系統(tǒng)要實現(xiàn)虛擬內(nèi)存,必須把主存和輔存統(tǒng)一管理起必須把主存和輔存統(tǒng)一管理起來來,即大作業(yè)程序在執(zhí)行時即大作業(yè)程序在執(zhí)行時,有一部分地址空間在主存有一部分地址空間在主存,另一另一部分在輔存部分在輔存,當訪問的信息不在主存時當訪問的信息不在主存時,由操作系統(tǒng)將其調(diào)由操作系統(tǒng)將其調(diào)入主存并實現(xiàn)自動覆蓋功能入主存并實現(xiàn)自動覆蓋功能,使用戶在編寫程序時不再受使用戶在編寫程序時不再受主存容量的限制。主存容量的限制。例如在請求分頁存儲管理系統(tǒng)中例如在請求分頁存儲管理系統(tǒng)中,用戶作業(yè)的所有頁面并
15、用戶作業(yè)的所有頁面并不一定都在實存不一定都在實存,在作業(yè)運行過程中再請求調(diào)入所用的虛在作業(yè)運行過程中再請求調(diào)入所用的虛頁。為了實現(xiàn)從邏輯地址空間到物理地址空間的變換頁。為了實現(xiàn)從邏輯地址空間到物理地址空間的變換,在在硬件上必須提供一套地址變換機構(gòu)硬件上必須提供一套地址變換機構(gòu),動態(tài)地址變換機構(gòu)自動態(tài)地址變換機構(gòu)自動地將所有的邏輯地址劃分為頁號和頁內(nèi)地址兩部分動地將所有的邏輯地址劃分為頁號和頁內(nèi)地址兩部分,并并利用頁表將頁號代之以塊號利用頁表將頁號代之以塊號,把塊號和頁內(nèi)地址拼接就得把塊號和頁內(nèi)地址拼接就得到了內(nèi)存的物理地址到了內(nèi)存的物理地址,從而實現(xiàn)了虛擬存儲器。從而實現(xiàn)了虛擬存儲器。105.
16、25.2 請求分頁技術(shù)請求分頁技術(shù) 5.2.1 5.2.1 請求分頁存儲管理的基本思想請求分頁存儲管理的基本思想n請求式分頁也稱虛擬頁式存儲管理,它的基本思想是:在進程開始運行請求式分頁也稱虛擬頁式存儲管理,它的基本思想是:在進程開始運行之前,不是裝入全部頁面,而是裝入一個或零個頁面,之后根據(jù)進程運之前,不是裝入全部頁面,而是裝入一個或零個頁面,之后根據(jù)進程運行的需要,動態(tài)裝入其它頁面;當內(nèi)存空間已滿,而又需要裝入新的頁行的需要,動態(tài)裝入其它頁面;當內(nèi)存空間已滿,而又需要裝入新的頁面時,則根據(jù)某種算法淘汰某個頁面,以便裝入新的頁面。面時,則根據(jù)某種算法淘汰某個頁面,以便裝入新的頁面。 n為了實
17、現(xiàn)頁式虛存,系統(tǒng)需要解決下面三個問題:為了實現(xiàn)頁式虛存,系統(tǒng)需要解決下面三個問題: (1 1)系統(tǒng)如何獲知進程當前所需頁面不在主存。)系統(tǒng)如何獲知進程當前所需頁面不在主存。 (2 2)當發(fā)現(xiàn)缺頁時,如何把所缺頁面調(diào)入主存。)當發(fā)現(xiàn)缺頁時,如何把所缺頁面調(diào)入主存。 (3 3)當主存中沒有空閑的物理塊時,為了要接受一個新頁,需要把老的)當主存中沒有空閑的物理塊時,為了要接受一個新頁,需要把老的一頁淘汰出去,根據(jù)什么策略選擇欲淘汰的頁面。一頁淘汰出去,根據(jù)什么策略選擇欲淘汰的頁面。擴充頁表擴充頁表缺頁中斷缺頁中斷頁面置換算法頁面置換算法11n頁表機制:純分頁的頁表只有兩項:頁號和物理塊。而請求分頁存
18、儲管理增加了調(diào)入功能和置換功能,故需在頁表中增加若干項,供程序在換進換出時參考。下面所示是一請求分頁系統(tǒng)中的頁表:頁號物理塊號 狀態(tài)位P 訪問字段A 修改位M 外存地址u狀態(tài)位P:用于指示該頁是否已調(diào)入內(nèi)存,0表示該頁已在內(nèi)存,1表示該頁不在內(nèi)存,供程序訪問時參考; u訪問字段A:用于記錄該頁在一段時間內(nèi)被訪問的次數(shù),或最近已有多長時間未被訪問,供置換算法選擇頁面時參考;u 修改位M:用于記錄該頁在調(diào)入內(nèi)存后是否被修改過。由于內(nèi)存中的每一頁都在外存上保留一個副本,因此,若未被修改,在置換該頁時就不需將該頁寫回到磁盤上,以減少系統(tǒng)的開銷和啟動磁盤的次數(shù);若已被修改,則必須將該頁重寫回磁盤上,以保
19、證磁盤上所保留的始終是最新副本。 u外存地址:用于指出該頁在外存上的地址,通常是物理塊號,供調(diào)入該頁時使用。12n請求分頁存儲管理示意圖:請求分頁存儲管理示意圖:物理地址空間頁面映射表存儲空間頁號 塊號 狀態(tài)作業(yè)10110430001作業(yè)20123作業(yè)30123410610329011011103212700412345678910111213135.25.2 請求分頁技術(shù)請求分頁技術(shù)n程序在執(zhí)行時,首先檢查頁表,當狀態(tài)位指示該程序在執(zhí)行時,首先檢查頁表,當狀態(tài)位指示該頁不在主存時,則引起一個缺頁中斷發(fā)生,相應(yīng)頁不在主存時,則引起一個缺頁中斷發(fā)生,相應(yīng)的中斷處理程序把控制轉(zhuǎn)向缺頁中斷子程序。執(zhí)
20、的中斷處理程序把控制轉(zhuǎn)向缺頁中斷子程序。執(zhí)行此子程序,即把所缺頁面裝入主存。然后處理行此子程序,即把所缺頁面裝入主存。然后處理機重新執(zhí)行缺頁時打斷的指令。這時,就將順利機重新執(zhí)行缺頁時打斷的指令。這時,就將順利形成物理地址。形成物理地址。n缺頁中斷的處理過程是由硬件和軟件共同實現(xiàn)的。缺頁中斷的處理過程是由硬件和軟件共同實現(xiàn)的。 2.2.缺頁中斷缺頁中斷14TO B指令指令copy A A: B:頁面頁面65432115頁面大小問題頁面大小問題頁面大小是一個重要的硬件設(shè)計問題頁面大小是一個重要的硬件設(shè)計問題n小頁面有利于減少內(nèi)碎片總量小頁面有利于減少內(nèi)碎片總量n大頁面有利于減小每進程的頁表容量大
21、頁面有利于減小每進程的頁表容量n大頁面有利于實現(xiàn)有效的磁盤數(shù)據(jù)塊傳送大頁面有利于實現(xiàn)有效的磁盤數(shù)據(jù)塊傳送16頁面大小與缺頁率頁面大小與缺頁率頁面大小會影響頁面大小會影響缺頁率( “缺頁次數(shù)缺頁次數(shù)/ /內(nèi)存訪問內(nèi)存訪問次數(shù)次數(shù)”或或“缺頁的平均時間間隔缺頁的平均時間間隔”) 缺頁率與頁面大小的關(guān)系:缺頁率與頁面大小的關(guān)系:頁面很小:每個進程的內(nèi)存頁較多,通過調(diào)頁很快適應(yīng)局部性原理的要求,缺頁率低。頁面很大:進程使用的大部分地址空間都在內(nèi)存,缺頁率低。頁面中等大?。壕植啃詤^(qū)域只占每頁的較小部分,缺頁率高。17頁面大小與軟件策略頁面大小與軟件策略頁面大小也受軟件策略影響頁面大小也受軟件策略影響頁大
22、小固定時,缺頁率與頁大小固定時,缺頁率與分配給分配給進程的進程的內(nèi)存內(nèi)存頁面數(shù)目頁面數(shù)目的關(guān)系:的關(guān)系:n數(shù)目越多數(shù)目越多,缺頁率越低。缺頁率越低。n頁面數(shù)目的下限應(yīng)該是一條指頁面數(shù)目的下限應(yīng)該是一條指令及其操作數(shù)可能涉及的頁面令及其操作數(shù)可能涉及的頁面n數(shù)目的上限數(shù)目的上限應(yīng)該是足以應(yīng)該是足以保證每保證每條指令都能被執(zhí)行。條指令都能被執(zhí)行。18n地址變換機構(gòu):地址變換機構(gòu):請求分頁系統(tǒng)中的地址變換機請求分頁系統(tǒng)中的地址變換機構(gòu),是在分頁系統(tǒng)的地址變換機構(gòu)的基礎(chǔ)上,構(gòu),是在分頁系統(tǒng)的地址變換機構(gòu)的基礎(chǔ)上,為實現(xiàn)虛擬存儲器而增加了產(chǎn)生和處理缺頁中為實現(xiàn)虛擬存儲器而增加了產(chǎn)生和處理缺頁中斷、頁面置
23、換等功能而形成的。下圖給出了請斷、頁面置換等功能而形成的。下圖給出了請求分頁系統(tǒng)的地址變換過程。求分頁系統(tǒng)的地址變換過程。19請求分頁中的地址變換過程請求分頁中的地址變換過程缺頁中斷處理缺頁中斷處理保留保留CPU現(xiàn)場現(xiàn)場從外存中找到缺頁從外存中找到缺頁內(nèi)存滿否?內(nèi)存滿否?選擇一頁換出選擇一頁換出該頁被修改否?該頁被修改否?將該頁寫回外存將該頁寫回外存啟動啟動I/O硬件硬件將一頁從外存換入內(nèi)存將一頁從外存換入內(nèi)存修改頁表修改頁表否否是是是是否否頁表項在快表中?頁表項在快表中?CPU檢索快表檢索快表訪問頁表訪問頁表否否頁在內(nèi)存?頁在內(nèi)存?修改訪問位和修改位修改訪問位和修改位形成物理地址形成物理地址
24、地址變換結(jié)束地址變換結(jié)束否否頁號頁頁號頁表長度表長度? ?開始開始程序請求訪問一頁程序請求訪問一頁產(chǎn)生缺頁中產(chǎn)生缺頁中斷請求調(diào)頁斷請求調(diào)頁修改快表修改快表是是越界中斷越界中斷是是是是OS命令命令CPU從外存讀缺頁從外存讀缺頁20在為進程分配物理塊時,要解決下列的三個問題:在為進程分配物理塊時,要解決下列的三個問題:1 1、保證進程可正常運行所需要的最少物理塊數(shù)、保證進程可正常運行所需要的最少物理塊數(shù) 最小物理塊數(shù)的確定。最小物理塊數(shù)的確定。2 2、每個進程的物理塊數(shù),是固定值還是可變值、每個進程的物理塊數(shù),是固定值還是可變值 物理塊的分配策略。物理塊的分配策略。3 3、不同進程所分配的物理塊數(shù)
25、,是采用平均分配算法還是、不同進程所分配的物理塊數(shù),是采用平均分配算法還是根據(jù)進程的大小按照比例予以分配根據(jù)進程的大小按照比例予以分配 物理塊的分配算法。物理塊的分配算法。21如:如: Mov A, BMov A, B允許間接尋址:則至少要求允許間接尋址:則至少要求3 3個物理塊。個物理塊。mov A,B1000XXXX222. 物理塊的分配策略物理塊的分配策略 231)固定分配局部置換)固定分配局部置換思路:思路:分配固定數(shù)目的內(nèi)存空間(物理塊),在分配固定數(shù)目的內(nèi)存空間(物理塊),在整個運行期間都不改變。整個運行期間都不改變。策略:策略:如果缺頁,則如果缺頁,則只能只能從該進程在內(nèi)存的頁面
26、從該進程在內(nèi)存的頁面中選中一頁,進行換出操作,然后再調(diào)入一頁。中選中一頁,進行換出操作,然后再調(diào)入一頁。特點:特點:為每個進程分配多少物理塊是合適的值難為每個進程分配多少物理塊是合適的值難以確定。(少:置換率高以確定。(少:置換率高 多:資源浪費)。多:資源浪費)。2. 物理塊的分配策略物理塊的分配策略 242 2)可變分配全局置換)可變分配全局置換思路:思路:每個進程預(yù)先分配一定數(shù)目的物理塊,同每個進程預(yù)先分配一定數(shù)目的物理塊,同時時OSOS也保持一個空閑物理塊隊列。也保持一個空閑物理塊隊列。策略:策略:當缺頁時,首先將對當缺頁時,首先將對OSOS所占有的空閑塊進所占有的空閑塊進行分配,從而
27、增加了各進程的物理塊數(shù)。當行分配,從而增加了各進程的物理塊數(shù)。當OSOS的的空閑塊全部用完,將引起換出操作空閑塊全部用完,將引起換出操作,OS,OS從內(nèi)存中從內(nèi)存中選擇一頁,可能是系統(tǒng)中任一進程的頁。選擇一頁,可能是系統(tǒng)中任一進程的頁。是一種最易實現(xiàn)的策略是一種最易實現(xiàn)的策略2. 物理塊的分配策略物理塊的分配策略 253 3)可變分配局部置換)可變分配局部置換思路:思路:先為每個進程預(yù)先分配一定數(shù)目的物理塊,先為每個進程預(yù)先分配一定數(shù)目的物理塊,系統(tǒng)根據(jù)缺頁率動態(tài)調(diào)整各進程占有的物理塊數(shù)系統(tǒng)根據(jù)缺頁率動態(tài)調(diào)整各進程占有的物理塊數(shù)目,使其保持在一個比較低的缺頁率狀態(tài)下。目,使其保持在一個比較低的
28、缺頁率狀態(tài)下。策略:策略:如果缺頁,則先從該進程在內(nèi)存的頁面中如果缺頁,則先從該進程在內(nèi)存的頁面中選中一頁,進行換出操作選中一頁,進行換出操作特點:特點:使大部分進程可以達到比較近似的性能使大部分進程可以達到比較近似的性能2. 物理塊的分配策略物理塊的分配策略 263. 物理塊分配算法物理塊分配算法將系統(tǒng)中所有可供分配的物理塊,平均分配給各將系統(tǒng)中所有可供分配的物理塊,平均分配給各個進程。個進程。缺點缺點:未考慮各進程本身的大小。:未考慮各進程本身的大小。27niiSS1mSSbii3. 物理塊分配算法物理塊分配算法28在實際應(yīng)用中,為了照顧重要的、急迫的作業(yè)盡快在實際應(yīng)用中,為了照顧重要的、
29、急迫的作業(yè)盡快完成,應(yīng)為它分配較多的內(nèi)存空間。完成,應(yīng)為它分配較多的內(nèi)存空間。方法:一部分按方法:一部分按比例比例分配給各進程;另一部分則根分配給各進程;另一部分則根據(jù)各進程的據(jù)各進程的優(yōu)先權(quán)優(yōu)先權(quán),適當?shù)卦黾悠湎鄳?yīng)份額后,分,適當?shù)卦黾悠湎鄳?yīng)份額后,分配給各進程。配給各進程。3. 物理塊分配算法物理塊分配算法29預(yù)調(diào)頁策略:由于在外存上查找所缺的頁,須經(jīng)歷較長的時間。如果一個進程存放在外存中的許多頁在一個連續(xù)的區(qū)域中,每次調(diào)入若干個頁會比每次調(diào)入一頁更高效些。但如果調(diào)入的一批頁面中的大多數(shù)都未被訪問,則這種調(diào)入又是低效的??梢?,如果預(yù)測比較準確,會大大降低缺頁中斷率,從而提高進程的推進速度。
30、請求調(diào)頁策略:當發(fā)生缺頁中斷時進行調(diào)度,即當訪問某一頁而該頁不在內(nèi)存時,立即提出請求,由系統(tǒng)將所需頁面調(diào)入內(nèi)存。顯然,采用純請求調(diào)頁策略,被調(diào)入內(nèi)存的頁面一定會被用到,不會發(fā)生無意義的頁面調(diào)度。但是,請求調(diào)頁策略也有一個缺點,從缺頁中斷發(fā)生到頁面被調(diào)入內(nèi)存,發(fā)生缺頁中斷的進程必須等待,影響了進程的推進速度。30在請求分頁系統(tǒng)中的外存分為兩部分:用于存放文件的文件區(qū)和用于存放對換頁面的對換區(qū)。通常,由于對換區(qū)是采用連續(xù)分配方式,而文件區(qū)是采用離散分配方式,故對換區(qū)的磁盤I/O速度比文件區(qū)的高。這樣,每當發(fā)生缺頁請求時,系統(tǒng)應(yīng)從何處將缺頁調(diào)入內(nèi)存,可分成如下三種情況:(1) 系統(tǒng)擁有足夠的對換區(qū)空
31、間,這時可以全部從對換區(qū)調(diào)入所需頁面,以提高調(diào)頁速度。為此,在進程運行前, 便須將與該進程有關(guān)的文件,從文件區(qū)拷貝到對換區(qū)。 31(2) 系統(tǒng)缺少足夠的對換區(qū)空間,這時凡是不會被修改的文件,系統(tǒng)缺少足夠的對換區(qū)空間,這時凡是不會被修改的文件,都直接從文件區(qū)調(diào)入;而當換出這些頁面時,由于它們未被都直接從文件區(qū)調(diào)入;而當換出這些頁面時,由于它們未被修改而不必再將它們換出,以后再調(diào)入時,仍從文件區(qū)直接修改而不必再將它們換出,以后再調(diào)入時,仍從文件區(qū)直接調(diào)入。但對于那些可能被修改的部分,在將它們換出時,便調(diào)入。但對于那些可能被修改的部分,在將它們換出時,便須調(diào)到對換區(qū),以后需要時,再從對換區(qū)調(diào)入。須調(diào)
32、到對換區(qū),以后需要時,再從對換區(qū)調(diào)入。(3) UNIX方式。由于與進程有關(guān)的文件都放在文件區(qū),故凡方式。由于與進程有關(guān)的文件都放在文件區(qū),故凡是未運行過的頁面,都應(yīng)從文件區(qū)調(diào)入。而對于曾經(jīng)運行過是未運行過的頁面,都應(yīng)從文件區(qū)調(diào)入。而對于曾經(jīng)運行過但又被換出的頁面,由于是被放在對換區(qū),因此在下次調(diào)入但又被換出的頁面,由于是被放在對換區(qū),因此在下次調(diào)入時,應(yīng)從對換區(qū)調(diào)入。由于時,應(yīng)從對換區(qū)調(diào)入。由于UNIX系統(tǒng)允許頁面共享,因此,系統(tǒng)允許頁面共享,因此, 某進程所請求的頁面有可能已被其它進程調(diào)入內(nèi)存,此時也某進程所請求的頁面有可能已被其它進程調(diào)入內(nèi)存,此時也就無須再從對換區(qū)調(diào)入。就無須再從對換區(qū)調(diào)
33、入。 32頁面調(diào)入過程頁面調(diào)入過程n每當程序所要訪問的頁面未在內(nèi)存時,便向每當程序所要訪問的頁面未在內(nèi)存時,便向CPU發(fā)發(fā)出一出一缺頁中斷缺頁中斷,中斷處理程序首先保留,中斷處理程序首先保留CPU環(huán)境,環(huán)境,分析中斷原因后,轉(zhuǎn)入缺頁中斷處理程序。該程序分析中斷原因后,轉(zhuǎn)入缺頁中斷處理程序。該程序通過查找頁表,得到該頁在外存的物理塊地址。通過查找頁表,得到該頁在外存的物理塊地址。n若此時內(nèi)存能容納新頁,則啟動磁盤若此時內(nèi)存能容納新頁,則啟動磁盤I/O將所缺之頁將所缺之頁調(diào)入內(nèi)存,然后修改頁表。調(diào)入內(nèi)存,然后修改頁表。n若內(nèi)存已滿,則須先按照某種置換算法從內(nèi)存中選若內(nèi)存已滿,則須先按照某種置換算法
34、從內(nèi)存中選出一頁準備換出:出一頁準備換出:w頁頁未被修改未被修改過,可不必將該頁寫回磁盤過,可不必將該頁寫回磁盤w頁頁已被修改已被修改過,過, 則必須將它則必須將它寫回磁盤寫回磁盤,然后再把所缺的,然后再把所缺的頁調(diào)入內(nèi)存,頁調(diào)入內(nèi)存, 并修改頁表中的相應(yīng)表項,置其狀態(tài)位為并修改頁表中的相應(yīng)表項,置其狀態(tài)位為“1”,并將此頁表項,并將此頁表項寫入快表中寫入快表中。n在缺頁調(diào)入內(nèi)存后,利用修改后的頁表,去形成所在缺頁調(diào)入內(nèi)存后,利用修改后的頁表,去形成所要訪問數(shù)據(jù)的物理地址,再去訪問內(nèi)存數(shù)據(jù)。要訪問數(shù)據(jù)的物理地址,再去訪問內(nèi)存數(shù)據(jù)。333. 頁面調(diào)入過程頁面調(diào)入過程頁面調(diào)入頁面調(diào)入頁面在內(nèi)存頁面
35、在內(nèi)存頁面未在內(nèi)存頁面未在內(nèi)存內(nèi)存能容納新頁內(nèi)存能容納新頁內(nèi)存已滿內(nèi)存已滿該頁未被修改過該頁未被修改過該頁已被修改該頁已被修改34設(shè)作業(yè)的虛擬地址為設(shè)作業(yè)的虛擬地址為24位位,其中高其中高8位為段號位為段號,低低16位為段內(nèi)相對地址。試問:位為段內(nèi)相對地址。試問:(1)一個作業(yè)最多可以有多少段一個作業(yè)最多可以有多少段?(2)每段的最大長度為多少字節(jié)每段的最大長度為多少字節(jié)?(3)某段式存儲管理采用如下段表某段式存儲管理采用如下段表,試計算試計算0,430、1,50、2,30、3,70的主存地址。其中方括號內(nèi)的主存地址。其中方括號內(nèi)的前一元素為段號的前一元素為段號,后一元素為段內(nèi)地址。當無法后一元素為段內(nèi)地址。當無法進行地址變換時進行地址變換時,應(yīng)說明產(chǎn)生何種中斷。應(yīng)說明產(chǎn)生何種中斷。35參考答案:參考答案:(1)一個作業(yè)最多可以有一個作業(yè)最多可以有28=254個段。個段。(2)每段的最大長度為每段的最大長度為216=64KB=65536字節(jié)。字節(jié)。(3)邏輯地址邏輯地址0,430的主存地址為的主存地址為: 21
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 項目投資居間的合同
- 汽車直接融資租賃合同
- 二零二五薦綠化養(yǎng)護委托合同
- 二零二五版鋼結(jié)構(gòu)安全協(xié)議
- 二零二五版合同Amazon店鋪代運營協(xié)議
- 代理合同范例大全
- 二零二五學生安全責任協(xié)議書
- 抖音直播帶貨的合同
- 二零二五版門店承包協(xié)議合同范例
- 二零二五版男女同居分手合同
- MOOC 寫作與表達-常熟理工學院 中國大學慕課答案
- 農(nóng)貿(mào)市場應(yīng)急預(yù)案
- 肥胖患者麻醉管理專家共識2023年版中國麻醉學指南與專家共識
- 中藥飲片處方點評表-副本(文檔良心出品)
- DL-T 5605-2021太陽能熱發(fā)電廠蒸汽發(fā)生系統(tǒng)設(shè)計規(guī)范-PDF解密
- 學校雙重預(yù)防體系建設(shè)指導(dǎo)書
- 螺螄粉出口貿(mào)易的現(xiàn)狀及策略分析
- 2024年江蘇省蘇州市中考數(shù)學一模練習卷
- 家政聘用合同模板
- 防汛應(yīng)急預(yù)案培訓(xùn)課件
- 樁基施工安全培訓(xùn)課件
評論
0/150
提交評論