




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第四章第四章 存儲(chǔ)器管理存儲(chǔ)器管理主主 講:趙恒講:趙恒25.15.1 虛擬存儲(chǔ)器虛擬存儲(chǔ)器 前面所介紹的各種存儲(chǔ)管理方式,有一個(gè)共同的特點(diǎn),前面所介紹的各種存儲(chǔ)管理方式,有一個(gè)共同的特點(diǎn),即它們都要求將一個(gè)作業(yè)全部裝入內(nèi)存后才能運(yùn)行即它們都要求將一個(gè)作業(yè)全部裝入內(nèi)存后才能運(yùn)行,于是,于是,就可能出現(xiàn)以下情況:就可能出現(xiàn)以下情況: (1) 有的作業(yè)很大,其所要求內(nèi)存空間超過了內(nèi)存容量,有的作業(yè)很大,其所要求內(nèi)存空間超過了內(nèi)存容量,從而導(dǎo)致作業(yè)不能全部被裝入內(nèi)存,以至于該作業(yè)無法運(yùn)從而導(dǎo)致作業(yè)不能全部被裝入內(nèi)存,以至于該作業(yè)無法運(yùn)行。行。 (2) 有多個(gè)作業(yè)要求運(yùn)行,但可用的內(nèi)存空間不足以容納有
2、多個(gè)作業(yè)要求運(yùn)行,但可用的內(nèi)存空間不足以容納所有的作業(yè),只能將少數(shù)的作業(yè)裝入內(nèi)存讓它們先運(yùn)行,所有的作業(yè),只能將少數(shù)的作業(yè)裝入內(nèi)存讓它們先運(yùn)行,而將其他的作業(yè)留在外存等待。而將其他的作業(yè)留在外存等待。35.15.1 虛擬存儲(chǔ)器虛擬存儲(chǔ)器 常規(guī)存儲(chǔ)器管理方式的特征常規(guī)存儲(chǔ)器管理方式的特征 (1 1)一次性:)一次性:作業(yè)在運(yùn)行前需一次性地全部裝入內(nèi)存。將作業(yè)在運(yùn)行前需一次性地全部裝入內(nèi)存。將導(dǎo)致上述兩問題。導(dǎo)致上述兩問題。 (2 2)駐留性:)駐留性:作業(yè)裝入內(nèi)存后,便一直駐留內(nèi)存,直至作作業(yè)裝入內(nèi)存后,便一直駐留內(nèi)存,直至作業(yè)運(yùn)行結(jié)束。業(yè)運(yùn)行結(jié)束。n局部性原理局部性原理 指程序在執(zhí)行時(shí)呈現(xiàn)出局
3、部性規(guī)律,即在一較短時(shí)間內(nèi),指程序在執(zhí)行時(shí)呈現(xiàn)出局部性規(guī)律,即在一較短時(shí)間內(nèi),程序的執(zhí)行僅限于某個(gè)部分,相應(yīng)地,它所訪問的存儲(chǔ)空間程序的執(zhí)行僅限于某個(gè)部分,相應(yīng)地,它所訪問的存儲(chǔ)空間也局限于某個(gè)區(qū)域。也局限于某個(gè)區(qū)域。 局部性又表現(xiàn)為時(shí)間局部性局部性又表現(xiàn)為時(shí)間局部性( (由于大量的循環(huán)操作,某由于大量的循環(huán)操作,某指令或數(shù)據(jù)被訪問后,則不久可能會(huì)被再次訪問指令或數(shù)據(jù)被訪問后,則不久可能會(huì)被再次訪問) )和空間局部和空間局部性(如順序執(zhí)行,指程序在一段時(shí)間內(nèi)訪問的地址,可能集性(如順序執(zhí)行,指程序在一段時(shí)間內(nèi)訪問的地址,可能集中在一定的范圍之內(nèi))。中在一定的范圍之內(nèi))。實(shí)現(xiàn)虛擬存儲(chǔ)器的理論基礎(chǔ)
4、:局部性原理。局部性原理。45.15.1 虛擬存儲(chǔ)器虛擬存儲(chǔ)器實(shí)現(xiàn)方法:n一個(gè)進(jìn)程在運(yùn)行之時(shí),沒有必要全部裝入內(nèi)存,而只把一個(gè)進(jìn)程在運(yùn)行之時(shí),沒有必要全部裝入內(nèi)存,而只把當(dāng)前運(yùn)行所需要的頁(段)裝入內(nèi)存便可啟動(dòng)運(yùn)行,而當(dāng)前運(yùn)行所需要的頁(段)裝入內(nèi)存便可啟動(dòng)運(yùn)行,而其余部分則存放在磁盤上。程序在運(yùn)行時(shí),如果所需要其余部分則存放在磁盤上。程序在運(yùn)行時(shí),如果所需要的頁(段)已經(jīng)調(diào)入內(nèi)存,便可以繼續(xù)執(zhí)行下去。如果的頁(段)已經(jīng)調(diào)入內(nèi)存,便可以繼續(xù)執(zhí)行下去。如果所需要的頁(段)不在內(nèi)存,此時(shí)程序應(yīng)利用操作系統(tǒng)所需要的頁(段)不在內(nèi)存,此時(shí)程序應(yīng)利用操作系統(tǒng)所提供的請求調(diào)頁(段)功能,將該頁(段)調(diào)入內(nèi)
5、存,所提供的請求調(diào)頁(段)功能,將該頁(段)調(diào)入內(nèi)存,以使程序能夠運(yùn)行下去。如果此時(shí)分配給該程序的內(nèi)存以使程序能夠運(yùn)行下去。如果此時(shí)分配給該程序的內(nèi)存已全部占用,不能裝入新的頁(段),則需要利用系統(tǒng)已全部占用,不能裝入新的頁(段),則需要利用系統(tǒng)的置換功能,把內(nèi)存中暫時(shí)不用的頁(段)調(diào)出至磁盤的置換功能,把內(nèi)存中暫時(shí)不用的頁(段)調(diào)出至磁盤上,騰出足夠的內(nèi)存空間,再將所要裝入的頁(段)調(diào)上,騰出足夠的內(nèi)存空間,再將所要裝入的頁(段)調(diào)入內(nèi)存,使程序能夠繼續(xù)運(yùn)行下去。入內(nèi)存,使程序能夠繼續(xù)運(yùn)行下去。 55.15.1 虛擬存儲(chǔ)器虛擬存儲(chǔ)器n虛擬存儲(chǔ)器的定義:是指僅把進(jìn)程的一部分裝入內(nèi)存便是指僅把進(jìn)
6、程的一部分裝入內(nèi)存便可運(yùn)行的存儲(chǔ)器系統(tǒng),它具有請求調(diào)入功能和置換功能,可運(yùn)行的存儲(chǔ)器系統(tǒng),它具有請求調(diào)入功能和置換功能,能從邏輯上對內(nèi)存容量進(jìn)行擴(kuò)充的一種存儲(chǔ)器系統(tǒng)。能從邏輯上對內(nèi)存容量進(jìn)行擴(kuò)充的一種存儲(chǔ)器系統(tǒng)。n虛擬存儲(chǔ)器的邏輯容量:虛擬存儲(chǔ)器的邏輯容量由系統(tǒng)虛擬存儲(chǔ)器的邏輯容量由系統(tǒng)的尋址能力和外存容量之和所決定。的尋址能力和外存容量之和所決定。 判斷題:虛擬存儲(chǔ)器是一個(gè)假想的地址空間,因而這個(gè)地址空間判斷題:虛擬存儲(chǔ)器是一個(gè)假想的地址空間,因而這個(gè)地址空間的大小是沒有限制的()的大小是沒有限制的() (東南大學(xué)(東南大學(xué)2001)分析:在虛擬存儲(chǔ)器中,用戶的地址空間仍然受到地址字長和分析
7、:在虛擬存儲(chǔ)器中,用戶的地址空間仍然受到地址字長和外存容量的限制。虛擬存儲(chǔ)器的外存容量的限制。虛擬存儲(chǔ)器的最大容量最大容量受受地址地址長度(地址總長度(地址總線位數(shù))決定,一個(gè)線位數(shù))決定,一個(gè)擁有擁有32位地址長度的系統(tǒng)位地址長度的系統(tǒng),其虛擬內(nèi)存最,其虛擬內(nèi)存最大為大為232字節(jié)。當(dāng)然,一個(gè)字節(jié)。當(dāng)然,一個(gè)實(shí)際的虛擬存儲(chǔ)器實(shí)際的虛擬存儲(chǔ)器的大小還會(huì)受到輔的大小還會(huì)受到輔助存儲(chǔ)器大小的限制。助存儲(chǔ)器大小的限制。答案答案 錯(cuò)錯(cuò)65.15.1 虛擬存儲(chǔ)器虛擬存儲(chǔ)器虛擬內(nèi)存的特征虛擬內(nèi)存的特征: :n虛擬性。虛擬性。虛擬內(nèi)存不是擴(kuò)大實(shí)際的物理內(nèi)存,而是擴(kuò)充邏虛擬內(nèi)存不是擴(kuò)大實(shí)際的物理內(nèi)存,而是擴(kuò)充
8、邏輯內(nèi)存的容量。輯內(nèi)存的容量。n部分裝入。部分裝入。每個(gè)進(jìn)程不是全部裝入內(nèi)存,而是分成若干個(gè)每個(gè)進(jìn)程不是全部裝入內(nèi)存,而是分成若干個(gè)部分。當(dāng)進(jìn)程需要執(zhí)行時(shí),才將當(dāng)前運(yùn)行所需要的程序和部分。當(dāng)進(jìn)程需要執(zhí)行時(shí),才將當(dāng)前運(yùn)行所需要的程序和數(shù)據(jù)裝入內(nèi)存。數(shù)據(jù)裝入內(nèi)存。n對換性。對換性。在一個(gè)進(jìn)程運(yùn)行期間,它所需要的程序和數(shù)據(jù)可在一個(gè)進(jìn)程運(yùn)行期間,它所需要的程序和數(shù)據(jù)可以分多次調(diào)入。每次僅僅調(diào)入一部分,以滿足當(dāng)前程序執(zhí)以分多次調(diào)入。每次僅僅調(diào)入一部分,以滿足當(dāng)前程序執(zhí)行的需要。而且,在內(nèi)存中那些暫時(shí)不使用的程序和數(shù)據(jù)行的需要。而且,在內(nèi)存中那些暫時(shí)不使用的程序和數(shù)據(jù)可以換到外存的交換區(qū)存放,以騰出盡量多
9、的內(nèi)存空間供可以換到外存的交換區(qū)存放,以騰出盡量多的內(nèi)存空間供可運(yùn)行進(jìn)程使用??蛇\(yùn)行進(jìn)程使用。7 頁式虛擬存儲(chǔ)頁式虛擬存儲(chǔ) 它是在分頁系統(tǒng)的基礎(chǔ)上,增加了請求調(diào)頁功能、頁面置換它是在分頁系統(tǒng)的基礎(chǔ)上,增加了請求調(diào)頁功能、頁面置換功能所形成的虛擬存儲(chǔ)系統(tǒng)。功能所形成的虛擬存儲(chǔ)系統(tǒng)。 系統(tǒng)必須提供的硬件支持:系統(tǒng)必須提供的硬件支持: 請求分頁的頁表機(jī)構(gòu)請求分頁的頁表機(jī)構(gòu) 缺頁中斷機(jī)構(gòu)缺頁中斷機(jī)構(gòu) 地址變換機(jī)構(gòu)地址變換機(jī)構(gòu) 段式虛擬存儲(chǔ)段式虛擬存儲(chǔ) 這是在分段系統(tǒng)的基礎(chǔ)上,增加了請求調(diào)段功能及分段置換這是在分段系統(tǒng)的基礎(chǔ)上,增加了請求調(diào)段功能及分段置換功能后,所形成的段式虛擬存儲(chǔ)系統(tǒng)。功能后,所形成
10、的段式虛擬存儲(chǔ)系統(tǒng)。 系統(tǒng)必須提供的硬件支持:系統(tǒng)必須提供的硬件支持: 請求分段的段表機(jī)構(gòu)請求分段的段表機(jī)構(gòu) 缺段中斷機(jī)構(gòu)缺段中斷機(jī)構(gòu) 地址變換機(jī)構(gòu)地址變換機(jī)構(gòu)5.1.25.1.2虛擬存儲(chǔ)器的實(shí)現(xiàn)方式:虛擬存儲(chǔ)器的實(shí)現(xiàn)方式:q 頁式虛擬存貯頁式虛擬存貯q 段式虛擬存儲(chǔ)段式虛擬存儲(chǔ) 8選擇題:選擇題:_存儲(chǔ)擴(kuò)充方式,能夠?qū)嶋H增加存儲(chǔ)單元。存儲(chǔ)擴(kuò)充方式,能夠?qū)嶋H增加存儲(chǔ)單元。 A)覆蓋技術(shù)覆蓋技術(shù) B)交換技術(shù)交換技術(shù) C)物理擴(kuò)充物理擴(kuò)充 D)虛擬存儲(chǔ)技術(shù)虛擬存儲(chǔ)技術(shù) 填空題:分區(qū)存儲(chǔ)管理方案不能實(shí)現(xiàn)虛擬的原因是填空題:分區(qū)存儲(chǔ)管理方案不能實(shí)現(xiàn)虛擬的原因是_。 簡答題:覆蓋技術(shù)與虛擬存儲(chǔ)技術(shù)有何
11、本質(zhì)不同?交換技術(shù)與虛存簡答題:覆蓋技術(shù)與虛擬存儲(chǔ)技術(shù)有何本質(zhì)不同?交換技術(shù)與虛存中使用的調(diào)入中使用的調(diào)入/調(diào)出技術(shù)有何相同與不同之處?調(diào)出技術(shù)有何相同與不同之處?參考答案:覆蓋技術(shù)與虛擬存儲(chǔ)技術(shù)最本質(zhì)的不同在于覆蓋的程序參考答案:覆蓋技術(shù)與虛擬存儲(chǔ)技術(shù)最本質(zhì)的不同在于覆蓋的程序段的最大長度要受到物理內(nèi)存容量的限制段的最大長度要受到物理內(nèi)存容量的限制,而虛擬存儲(chǔ)器的最大長度而虛擬存儲(chǔ)器的最大長度不受物理內(nèi)存容量的限制不受物理內(nèi)存容量的限制,只受計(jì)算機(jī)地址結(jié)構(gòu)的限制。另外只受計(jì)算機(jī)地址結(jié)構(gòu)的限制。另外,使用覆使用覆蓋技術(shù)要求程序員必須精心地設(shè)計(jì)程序及其數(shù)據(jù)結(jié)構(gòu)蓋技術(shù)要求程序員必須精心地設(shè)計(jì)程序及
12、其數(shù)據(jù)結(jié)構(gòu),使得要覆蓋的使得要覆蓋的段具有相對獨(dú)立性段具有相對獨(dú)立性,不存在直接聯(lián)系或相互交叉訪問。而虛擬存儲(chǔ)技不存在直接聯(lián)系或相互交叉訪問。而虛擬存儲(chǔ)技術(shù)對用戶的程序段之間沒有此要求。術(shù)對用戶的程序段之間沒有此要求。交換技術(shù)與虛存中使用的調(diào)入交換技術(shù)與虛存中使用的調(diào)入/調(diào)出技術(shù)的主要相同點(diǎn)是都要在內(nèi)存調(diào)出技術(shù)的主要相同點(diǎn)是都要在內(nèi)存與外存之間交換信息。交換技術(shù)與虛存中使用的調(diào)入與外存之間交換信息。交換技術(shù)與虛存中使用的調(diào)入/調(diào)出技術(shù)的主調(diào)出技術(shù)的主要區(qū)別在于:交換技術(shù)換進(jìn)換出整個(gè)進(jìn)程,因此一個(gè)進(jìn)程的大小受要區(qū)別在于:交換技術(shù)換進(jìn)換出整個(gè)進(jìn)程,因此一個(gè)進(jìn)程的大小受物理存儲(chǔ)器的限制;而虛存中使用
13、的調(diào)入物理存儲(chǔ)器的限制;而虛存中使用的調(diào)入/調(diào)出技術(shù)在內(nèi)存和外存之調(diào)出技術(shù)在內(nèi)存和外存之間來回傳遞的是存儲(chǔ)頁或存儲(chǔ)段,而不是整個(gè)進(jìn)程,從而使得進(jìn)程間來回傳遞的是存儲(chǔ)頁或存儲(chǔ)段,而不是整個(gè)進(jìn)程,從而使得進(jìn)程的地址映射具有了更大的靈活性,且允許進(jìn)程的大小比可用的物理的地址映射具有了更大的靈活性,且允許進(jìn)程的大小比可用的物理存儲(chǔ)空間大得多。存儲(chǔ)空間大得多。9何謂虛擬存儲(chǔ)器何謂虛擬存儲(chǔ)器?舉一例說明操作系統(tǒng)是如何實(shí)現(xiàn)虛擬內(nèi)舉一例說明操作系統(tǒng)是如何實(shí)現(xiàn)虛擬內(nèi)存的。存的。 (西交大(西交大1999)在操作系統(tǒng)中在操作系統(tǒng)中,通過一些硬件和軟件的措施為用戶提供了通過一些硬件和軟件的措施為用戶提供了一個(gè)其容量
14、比實(shí)際主存大得多的存儲(chǔ)器一個(gè)其容量比實(shí)際主存大得多的存儲(chǔ)器,稱為虛擬存儲(chǔ)器。稱為虛擬存儲(chǔ)器。操作系統(tǒng)要實(shí)現(xiàn)虛擬內(nèi)存操作系統(tǒng)要實(shí)現(xiàn)虛擬內(nèi)存,必須把主存和輔存統(tǒng)一管理起必須把主存和輔存統(tǒng)一管理起來來,即大作業(yè)程序在執(zhí)行時(shí)即大作業(yè)程序在執(zhí)行時(shí),有一部分地址空間在主存有一部分地址空間在主存,另一另一部分在輔存部分在輔存,當(dāng)訪問的信息不在主存時(shí)當(dāng)訪問的信息不在主存時(shí),由操作系統(tǒng)將其調(diào)由操作系統(tǒng)將其調(diào)入主存并實(shí)現(xiàn)自動(dòng)覆蓋功能入主存并實(shí)現(xiàn)自動(dòng)覆蓋功能,使用戶在編寫程序時(shí)不再受使用戶在編寫程序時(shí)不再受主存容量的限制。主存容量的限制。例如在請求分頁存儲(chǔ)管理系統(tǒng)中例如在請求分頁存儲(chǔ)管理系統(tǒng)中,用戶作業(yè)的所有頁面并
15、用戶作業(yè)的所有頁面并不一定都在實(shí)存不一定都在實(shí)存,在作業(yè)運(yùn)行過程中再請求調(diào)入所用的虛在作業(yè)運(yùn)行過程中再請求調(diào)入所用的虛頁。為了實(shí)現(xiàn)從邏輯地址空間到物理地址空間的變換頁。為了實(shí)現(xiàn)從邏輯地址空間到物理地址空間的變換,在在硬件上必須提供一套地址變換機(jī)構(gòu)硬件上必須提供一套地址變換機(jī)構(gòu),動(dòng)態(tài)地址變換機(jī)構(gòu)自動(dòng)態(tài)地址變換機(jī)構(gòu)自動(dòng)地將所有的邏輯地址劃分為頁號(hào)和頁內(nèi)地址兩部分動(dòng)地將所有的邏輯地址劃分為頁號(hào)和頁內(nèi)地址兩部分,并并利用頁表將頁號(hào)代之以塊號(hào)利用頁表將頁號(hào)代之以塊號(hào),把塊號(hào)和頁內(nèi)地址拼接就得把塊號(hào)和頁內(nèi)地址拼接就得到了內(nèi)存的物理地址到了內(nèi)存的物理地址,從而實(shí)現(xiàn)了虛擬存儲(chǔ)器。從而實(shí)現(xiàn)了虛擬存儲(chǔ)器。105.
16、25.2 請求分頁技術(shù)請求分頁技術(shù) 5.2.1 5.2.1 請求分頁存儲(chǔ)管理的基本思想請求分頁存儲(chǔ)管理的基本思想n請求式分頁也稱虛擬頁式存儲(chǔ)管理,它的基本思想是:在進(jìn)程開始運(yùn)行請求式分頁也稱虛擬頁式存儲(chǔ)管理,它的基本思想是:在進(jìn)程開始運(yùn)行之前,不是裝入全部頁面,而是裝入一個(gè)或零個(gè)頁面,之后根據(jù)進(jìn)程運(yùn)之前,不是裝入全部頁面,而是裝入一個(gè)或零個(gè)頁面,之后根據(jù)進(jìn)程運(yùn)行的需要,動(dòng)態(tài)裝入其它頁面;當(dāng)內(nèi)存空間已滿,而又需要裝入新的頁行的需要,動(dòng)態(tài)裝入其它頁面;當(dāng)內(nèi)存空間已滿,而又需要裝入新的頁面時(shí),則根據(jù)某種算法淘汰某個(gè)頁面,以便裝入新的頁面。面時(shí),則根據(jù)某種算法淘汰某個(gè)頁面,以便裝入新的頁面。 n為了實(shí)
17、現(xiàn)頁式虛存,系統(tǒng)需要解決下面三個(gè)問題:為了實(shí)現(xiàn)頁式虛存,系統(tǒng)需要解決下面三個(gè)問題: (1 1)系統(tǒng)如何獲知進(jìn)程當(dāng)前所需頁面不在主存。)系統(tǒng)如何獲知進(jìn)程當(dāng)前所需頁面不在主存。 (2 2)當(dāng)發(fā)現(xiàn)缺頁時(shí),如何把所缺頁面調(diào)入主存。)當(dāng)發(fā)現(xiàn)缺頁時(shí),如何把所缺頁面調(diào)入主存。 (3 3)當(dāng)主存中沒有空閑的物理塊時(shí),為了要接受一個(gè)新頁,需要把老的)當(dāng)主存中沒有空閑的物理塊時(shí),為了要接受一個(gè)新頁,需要把老的一頁淘汰出去,根據(jù)什么策略選擇欲淘汰的頁面。一頁淘汰出去,根據(jù)什么策略選擇欲淘汰的頁面。擴(kuò)充頁表擴(kuò)充頁表缺頁中斷缺頁中斷頁面置換算法頁面置換算法11n頁表機(jī)制:純分頁的頁表只有兩項(xiàng):頁號(hào)和物理塊。而請求分頁存
18、儲(chǔ)管理增加了調(diào)入功能和置換功能,故需在頁表中增加若干項(xiàng),供程序在換進(jìn)換出時(shí)參考。下面所示是一請求分頁系統(tǒng)中的頁表:頁號(hào)物理塊號(hào) 狀態(tài)位P 訪問字段A 修改位M 外存地址u狀態(tài)位P:用于指示該頁是否已調(diào)入內(nèi)存,0表示該頁已在內(nèi)存,1表示該頁不在內(nèi)存,供程序訪問時(shí)參考; u訪問字段A:用于記錄該頁在一段時(shí)間內(nèi)被訪問的次數(shù),或最近已有多長時(shí)間未被訪問,供置換算法選擇頁面時(shí)參考;u 修改位M:用于記錄該頁在調(diào)入內(nèi)存后是否被修改過。由于內(nèi)存中的每一頁都在外存上保留一個(gè)副本,因此,若未被修改,在置換該頁時(shí)就不需將該頁寫回到磁盤上,以減少系統(tǒng)的開銷和啟動(dòng)磁盤的次數(shù);若已被修改,則必須將該頁重寫回磁盤上,以保
19、證磁盤上所保留的始終是最新副本。 u外存地址:用于指出該頁在外存上的地址,通常是物理塊號(hào),供調(diào)入該頁時(shí)使用。12n請求分頁存儲(chǔ)管理示意圖:請求分頁存儲(chǔ)管理示意圖:物理地址空間頁面映射表存儲(chǔ)空間頁號(hào) 塊號(hào) 狀態(tài)作業(yè)10110430001作業(yè)20123作業(yè)30123410610329011011103212700412345678910111213135.25.2 請求分頁技術(shù)請求分頁技術(shù)n程序在執(zhí)行時(shí),首先檢查頁表,當(dāng)狀態(tài)位指示該程序在執(zhí)行時(shí),首先檢查頁表,當(dāng)狀態(tài)位指示該頁不在主存時(shí),則引起一個(gè)缺頁中斷發(fā)生,相應(yīng)頁不在主存時(shí),則引起一個(gè)缺頁中斷發(fā)生,相應(yīng)的中斷處理程序把控制轉(zhuǎn)向缺頁中斷子程序。執(zhí)
20、的中斷處理程序把控制轉(zhuǎn)向缺頁中斷子程序。執(zhí)行此子程序,即把所缺頁面裝入主存。然后處理行此子程序,即把所缺頁面裝入主存。然后處理機(jī)重新執(zhí)行缺頁時(shí)打斷的指令。這時(shí),就將順利機(jī)重新執(zhí)行缺頁時(shí)打斷的指令。這時(shí),就將順利形成物理地址。形成物理地址。n缺頁中斷的處理過程是由硬件和軟件共同實(shí)現(xiàn)的。缺頁中斷的處理過程是由硬件和軟件共同實(shí)現(xiàn)的。 2.2.缺頁中斷缺頁中斷14TO B指令指令copy A A: B:頁面頁面65432115頁面大小問題頁面大小問題頁面大小是一個(gè)重要的硬件設(shè)計(jì)問題頁面大小是一個(gè)重要的硬件設(shè)計(jì)問題n小頁面有利于減少內(nèi)碎片總量小頁面有利于減少內(nèi)碎片總量n大頁面有利于減小每進(jìn)程的頁表容量大
21、頁面有利于減小每進(jìn)程的頁表容量n大頁面有利于實(shí)現(xiàn)有效的磁盤數(shù)據(jù)塊傳送大頁面有利于實(shí)現(xiàn)有效的磁盤數(shù)據(jù)塊傳送16頁面大小與缺頁率頁面大小與缺頁率頁面大小會(huì)影響頁面大小會(huì)影響缺頁率( “缺頁次數(shù)缺頁次數(shù)/ /內(nèi)存訪問內(nèi)存訪問次數(shù)次數(shù)”或或“缺頁的平均時(shí)間間隔缺頁的平均時(shí)間間隔”) 缺頁率與頁面大小的關(guān)系:缺頁率與頁面大小的關(guān)系:頁面很小:每個(gè)進(jìn)程的內(nèi)存頁較多,通過調(diào)頁很快適應(yīng)局部性原理的要求,缺頁率低。頁面很大:進(jìn)程使用的大部分地址空間都在內(nèi)存,缺頁率低。頁面中等大小:局部性區(qū)域只占每頁的較小部分,缺頁率高。17頁面大小與軟件策略頁面大小與軟件策略頁面大小也受軟件策略影響頁面大小也受軟件策略影響頁大
22、小固定時(shí),缺頁率與頁大小固定時(shí),缺頁率與分配給分配給進(jìn)程的進(jìn)程的內(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地址變換機(jī)構(gòu):地址變換機(jī)構(gòu):請求分頁系統(tǒng)中的地址變換機(jī)請求分頁系統(tǒng)中的地址變換機(jī)構(gòu),是在分頁系統(tǒng)的地址變換機(jī)構(gòu)的基礎(chǔ)上,構(gòu),是在分頁系統(tǒng)的地址變換機(jī)構(gòu)的基礎(chǔ)上,為實(shí)現(xiàn)虛擬存儲(chǔ)器而增加了產(chǎn)生和處理缺頁中為實(shí)現(xiàn)虛擬存儲(chǔ)器而增加了產(chǎn)生和處理缺頁中斷、頁面置
23、換等功能而形成的。下圖給出了請斷、頁面置換等功能而形成的。下圖給出了請求分頁系統(tǒng)的地址變換過程。求分頁系統(tǒng)的地址變換過程。19請求分頁中的地址變換過程請求分頁中的地址變換過程缺頁中斷處理缺頁中斷處理保留保留CPU現(xiàn)場現(xiàn)場從外存中找到缺頁從外存中找到缺頁內(nèi)存滿否?內(nèi)存滿否?選擇一頁換出選擇一頁換出該頁被修改否?該頁被修改否?將該頁寫回外存將該頁寫回外存啟動(dòng)啟動(dòng)I/O硬件硬件將一頁從外存換入內(nèi)存將一頁從外存換入內(nèi)存修改頁表修改頁表否否是是是是否否頁表項(xiàng)在快表中?頁表項(xiàng)在快表中?CPU檢索快表檢索快表訪問頁表訪問頁表否否頁在內(nèi)存?頁在內(nèi)存?修改訪問位和修改位修改訪問位和修改位形成物理地址形成物理地址
24、地址變換結(jié)束地址變換結(jié)束否否頁號(hào)頁頁號(hào)頁表長度表長度? ?開始開始程序請求訪問一頁程序請求訪問一頁產(chǎn)生缺頁中產(chǎn)生缺頁中斷請求調(diào)頁斷請求調(diào)頁修改快表修改快表是是越界中斷越界中斷是是是是OS命令命令CPU從外存讀缺頁從外存讀缺頁20在為進(jìn)程分配物理塊時(shí),要解決下列的三個(gè)問題:在為進(jìn)程分配物理塊時(shí),要解決下列的三個(gè)問題:1 1、保證進(jìn)程可正常運(yùn)行所需要的最少物理塊數(shù)、保證進(jìn)程可正常運(yùn)行所需要的最少物理塊數(shù) 最小物理塊數(shù)的確定。最小物理塊數(shù)的確定。2 2、每個(gè)進(jìn)程的物理塊數(shù),是固定值還是可變值、每個(gè)進(jìn)程的物理塊數(shù),是固定值還是可變值 物理塊的分配策略。物理塊的分配策略。3 3、不同進(jìn)程所分配的物理塊數(shù)
25、,是采用平均分配算法還是、不同進(jìn)程所分配的物理塊數(shù),是采用平均分配算法還是根據(jù)進(jìn)程的大小按照比例予以分配根據(jù)進(jìn)程的大小按照比例予以分配 物理塊的分配算法。物理塊的分配算法。21如:如: Mov A, BMov A, B允許間接尋址:則至少要求允許間接尋址:則至少要求3 3個(gè)物理塊。個(gè)物理塊。mov A,B1000XXXX222. 物理塊的分配策略物理塊的分配策略 231)固定分配局部置換)固定分配局部置換思路:思路:分配固定數(shù)目的內(nèi)存空間(物理塊),在分配固定數(shù)目的內(nèi)存空間(物理塊),在整個(gè)運(yùn)行期間都不改變。整個(gè)運(yùn)行期間都不改變。策略:策略:如果缺頁,則如果缺頁,則只能只能從該進(jìn)程在內(nèi)存的頁面
26、從該進(jìn)程在內(nèi)存的頁面中選中一頁,進(jìn)行換出操作,然后再調(diào)入一頁。中選中一頁,進(jìn)行換出操作,然后再調(diào)入一頁。特點(diǎn):特點(diǎn):為每個(gè)進(jìn)程分配多少物理塊是合適的值難為每個(gè)進(jìn)程分配多少物理塊是合適的值難以確定。(少:置換率高以確定。(少:置換率高 多:資源浪費(fèi))。多:資源浪費(fèi))。2. 物理塊的分配策略物理塊的分配策略 242 2)可變分配全局置換)可變分配全局置換思路:思路:每個(gè)進(jìn)程預(yù)先分配一定數(shù)目的物理塊,同每個(gè)進(jìn)程預(yù)先分配一定數(shù)目的物理塊,同時(shí)時(shí)OSOS也保持一個(gè)空閑物理塊隊(duì)列。也保持一個(gè)空閑物理塊隊(duì)列。策略:策略:當(dāng)缺頁時(shí),首先將對當(dāng)缺頁時(shí),首先將對OSOS所占有的空閑塊進(jìn)所占有的空閑塊進(jìn)行分配,從而
27、增加了各進(jìn)程的物理塊數(shù)。當(dāng)行分配,從而增加了各進(jìn)程的物理塊數(shù)。當(dāng)OSOS的的空閑塊全部用完,將引起換出操作空閑塊全部用完,將引起換出操作,OS,OS從內(nèi)存中從內(nèi)存中選擇一頁,可能是系統(tǒng)中任一進(jìn)程的頁。選擇一頁,可能是系統(tǒng)中任一進(jìn)程的頁。是一種最易實(shí)現(xiàn)的策略是一種最易實(shí)現(xiàn)的策略2. 物理塊的分配策略物理塊的分配策略 253 3)可變分配局部置換)可變分配局部置換思路:思路:先為每個(gè)進(jìn)程預(yù)先分配一定數(shù)目的物理塊,先為每個(gè)進(jìn)程預(yù)先分配一定數(shù)目的物理塊,系統(tǒng)根據(jù)缺頁率動(dòng)態(tài)調(diào)整各進(jìn)程占有的物理塊數(shù)系統(tǒng)根據(jù)缺頁率動(dòng)態(tài)調(diào)整各進(jìn)程占有的物理塊數(shù)目,使其保持在一個(gè)比較低的缺頁率狀態(tài)下。目,使其保持在一個(gè)比較低的
28、缺頁率狀態(tài)下。策略:策略:如果缺頁,則先從該進(jìn)程在內(nèi)存的頁面中如果缺頁,則先從該進(jìn)程在內(nèi)存的頁面中選中一頁,進(jìn)行換出操作選中一頁,進(jìn)行換出操作特點(diǎn):特點(diǎn):使大部分進(jìn)程可以達(dá)到比較近似的性能使大部分進(jìn)程可以達(dá)到比較近似的性能2. 物理塊的分配策略物理塊的分配策略 263. 物理塊分配算法物理塊分配算法將系統(tǒng)中所有可供分配的物理塊,平均分配給各將系統(tǒng)中所有可供分配的物理塊,平均分配給各個(gè)進(jìn)程。個(gè)進(jìn)程。缺點(diǎn)缺點(diǎn):未考慮各進(jìn)程本身的大小。:未考慮各進(jìn)程本身的大小。27niiSS1mSSbii3. 物理塊分配算法物理塊分配算法28在實(shí)際應(yīng)用中,為了照顧重要的、急迫的作業(yè)盡快在實(shí)際應(yīng)用中,為了照顧重要的、
29、急迫的作業(yè)盡快完成,應(yīng)為它分配較多的內(nèi)存空間。完成,應(yīng)為它分配較多的內(nèi)存空間。方法:一部分按方法:一部分按比例比例分配給各進(jìn)程;另一部分則根分配給各進(jìn)程;另一部分則根據(jù)各進(jìn)程的據(jù)各進(jìn)程的優(yōu)先權(quán)優(yōu)先權(quán),適當(dāng)?shù)卦黾悠湎鄳?yīng)份額后,分,適當(dāng)?shù)卦黾悠湎鄳?yīng)份額后,分配給各進(jìn)程。配給各進(jìn)程。3. 物理塊分配算法物理塊分配算法29預(yù)調(diào)頁策略:由于在外存上查找所缺的頁,須經(jīng)歷較長的時(shí)間。如果一個(gè)進(jìn)程存放在外存中的許多頁在一個(gè)連續(xù)的區(qū)域中,每次調(diào)入若干個(gè)頁會(huì)比每次調(diào)入一頁更高效些。但如果調(diào)入的一批頁面中的大多數(shù)都未被訪問,則這種調(diào)入又是低效的??梢姡绻A(yù)測比較準(zhǔn)確,會(huì)大大降低缺頁中斷率,從而提高進(jìn)程的推進(jìn)速度。
30、請求調(diào)頁策略:當(dāng)發(fā)生缺頁中斷時(shí)進(jìn)行調(diào)度,即當(dāng)訪問某一頁而該頁不在內(nèi)存時(shí),立即提出請求,由系統(tǒng)將所需頁面調(diào)入內(nèi)存。顯然,采用純請求調(diào)頁策略,被調(diào)入內(nèi)存的頁面一定會(huì)被用到,不會(huì)發(fā)生無意義的頁面調(diào)度。但是,請求調(diào)頁策略也有一個(gè)缺點(diǎn),從缺頁中斷發(fā)生到頁面被調(diào)入內(nèi)存,發(fā)生缺頁中斷的進(jìn)程必須等待,影響了進(jìn)程的推進(jìn)速度。30在請求分頁系統(tǒng)中的外存分為兩部分:用于存放文件的文件區(qū)和用于存放對換頁面的對換區(qū)。通常,由于對換區(qū)是采用連續(xù)分配方式,而文件區(qū)是采用離散分配方式,故對換區(qū)的磁盤I/O速度比文件區(qū)的高。這樣,每當(dāng)發(fā)生缺頁請求時(shí),系統(tǒng)應(yīng)從何處將缺頁調(diào)入內(nèi)存,可分成如下三種情況:(1) 系統(tǒng)擁有足夠的對換區(qū)空
31、間,這時(shí)可以全部從對換區(qū)調(diào)入所需頁面,以提高調(diào)頁速度。為此,在進(jìn)程運(yùn)行前, 便須將與該進(jìn)程有關(guān)的文件,從文件區(qū)拷貝到對換區(qū)。 31(2) 系統(tǒng)缺少足夠的對換區(qū)空間,這時(shí)凡是不會(huì)被修改的文件,系統(tǒng)缺少足夠的對換區(qū)空間,這時(shí)凡是不會(huì)被修改的文件,都直接從文件區(qū)調(diào)入;而當(dāng)換出這些頁面時(shí),由于它們未被都直接從文件區(qū)調(diào)入;而當(dāng)換出這些頁面時(shí),由于它們未被修改而不必再將它們換出,以后再調(diào)入時(shí),仍從文件區(qū)直接修改而不必再將它們換出,以后再調(diào)入時(shí),仍從文件區(qū)直接調(diào)入。但對于那些可能被修改的部分,在將它們換出時(shí),便調(diào)入。但對于那些可能被修改的部分,在將它們換出時(shí),便須調(diào)到對換區(qū),以后需要時(shí),再從對換區(qū)調(diào)入。須調(diào)
32、到對換區(qū),以后需要時(shí),再從對換區(qū)調(diào)入。(3) UNIX方式。由于與進(jìn)程有關(guān)的文件都放在文件區(qū),故凡方式。由于與進(jìn)程有關(guān)的文件都放在文件區(qū),故凡是未運(yùn)行過的頁面,都應(yīng)從文件區(qū)調(diào)入。而對于曾經(jīng)運(yùn)行過是未運(yùn)行過的頁面,都應(yīng)從文件區(qū)調(diào)入。而對于曾經(jīng)運(yùn)行過但又被換出的頁面,由于是被放在對換區(qū),因此在下次調(diào)入但又被換出的頁面,由于是被放在對換區(qū),因此在下次調(diào)入時(shí),應(yīng)從對換區(qū)調(diào)入。由于時(shí),應(yīng)從對換區(qū)調(diào)入。由于UNIX系統(tǒng)允許頁面共享,因此,系統(tǒng)允許頁面共享,因此, 某進(jìn)程所請求的頁面有可能已被其它進(jìn)程調(diào)入內(nèi)存,此時(shí)也某進(jìn)程所請求的頁面有可能已被其它進(jìn)程調(diào)入內(nèi)存,此時(shí)也就無須再從對換區(qū)調(diào)入。就無須再從對換區(qū)調(diào)
33、入。 32頁面調(diào)入過程頁面調(diào)入過程n每當(dāng)程序所要訪問的頁面未在內(nèi)存時(shí),便向每當(dāng)程序所要訪問的頁面未在內(nèi)存時(shí),便向CPU發(fā)發(fā)出一出一缺頁中斷缺頁中斷,中斷處理程序首先保留,中斷處理程序首先保留CPU環(huán)境,環(huán)境,分析中斷原因后,轉(zhuǎn)入缺頁中斷處理程序。該程序分析中斷原因后,轉(zhuǎn)入缺頁中斷處理程序。該程序通過查找頁表,得到該頁在外存的物理塊地址。通過查找頁表,得到該頁在外存的物理塊地址。n若此時(shí)內(nèi)存能容納新頁,則啟動(dòng)磁盤若此時(shí)內(nèi)存能容納新頁,則啟動(dòng)磁盤I/O將所缺之頁將所缺之頁調(diào)入內(nèi)存,然后修改頁表。調(diào)入內(nèi)存,然后修改頁表。n若內(nèi)存已滿,則須先按照某種置換算法從內(nèi)存中選若內(nèi)存已滿,則須先按照某種置換算法
34、從內(nèi)存中選出一頁準(zhǔn)備換出:出一頁準(zhǔn)備換出:w頁頁未被修改未被修改過,可不必將該頁寫回磁盤過,可不必將該頁寫回磁盤w頁頁已被修改已被修改過,過, 則必須將它則必須將它寫回磁盤寫回磁盤,然后再把所缺的,然后再把所缺的頁調(diào)入內(nèi)存,頁調(diào)入內(nèi)存, 并修改頁表中的相應(yīng)表項(xiàng),置其狀態(tài)位為并修改頁表中的相應(yīng)表項(xiàng),置其狀態(tài)位為“1”,并將此頁表項(xiàng),并將此頁表項(xiàng)寫入快表中寫入快表中。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位為段號(hào)位為段號(hào),低低16位為段內(nèi)相對地址。試問:位為段內(nèi)相對地址。試問:(1)一個(gè)作業(yè)最多可以有多少段一個(gè)作業(yè)最多可以有多少段?(2)每段的最大長度為多少字節(jié)每段的最大長度為多少字節(jié)?(3)某段式存儲(chǔ)管理采用如下段表某段式存儲(chǔ)管理采用如下段表,試計(jì)算試計(jì)算0,430、1,50、2,30、3,70的主存地址。其中方括號(hào)內(nèi)的主存地址。其中方括號(hào)內(nèi)的前一元素為段號(hào)的前一元素為段號(hào),后一元素為段內(nèi)地址。當(dāng)無法后一元素為段內(nèi)地址。當(dāng)無法進(jìn)行地址變換時(shí)進(jìn)行地址變換時(shí),應(yīng)說明產(chǎn)生何種中斷。應(yīng)說明產(chǎn)生何種中斷。35參考答案:參考答案:(1)一個(gè)作業(yè)最多可以有一個(gè)作業(yè)最多可以有28=254個(gè)段。個(gè)段。(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)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件設(shè)計(jì)開發(fā)合同
- 耳麥維修合同
- 2025年防殺病毒軟件項(xiàng)目合作計(jì)劃書
- 雙機(jī)架軋機(jī)生產(chǎn)冷軋薄板企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 凸輪聯(lián)軸器企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 不銹鋼廚用、餐用叉、勺及類似用具企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 功能陶瓷制品企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報(bào)告
- 穩(wěn)態(tài)加速度試驗(yàn)機(jī)企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報(bào)告
- 農(nóng)田挖坑機(jī)企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 電氣信號(hào)設(shè)備裝置企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 化學(xué)品安全技術(shù)說明書混合氣
- GB/T 3098.26-2021緊固件機(jī)械性能平墊圈
- 四年級(jí)安全教育珍愛生命預(yù)防溺水安全知識(shí)主題班會(huì)
- 《巖石學(xué)》課件第二章結(jié)構(gòu)構(gòu)造
- 實(shí)驗(yàn)心理學(xué)講解(思維)課件
- 國家基本藥物培訓(xùn)培訓(xùn)課件
- 水生花卉資料課件
- 流動(dòng)式起重機(jī)(固定)定期檢驗(yàn)-自檢記錄
- 耳鼻咽喉科-咽腫瘤
- 高中地理·第一節(jié)人類面臨的主要環(huán)境問題幻燈片
- 擬經(jīng)營的食品種類、存放地點(diǎn)
評論
0/150
提交評論