版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Fundamentals
of
Software
軟件技術(shù)基礎(chǔ)
自動化學(xué)院儀器科學(xué)與技術(shù)系徐生林Email:xusl@Tel:86919131(O)、
88915606(O)MP/p>
QQ群:40048788周一上午3-5:3教301周四下午6-8:3教211Part1:OperatingSystem
第4講:存儲管理
一、存儲器的存儲結(jié)構(gòu)Part1:OperatingSystem
Lecture4:MemoryManagement二、存儲管理的任務(wù)1、主存空間的分配作業(yè)進(jìn)入內(nèi)存后放在哪里,運(yùn)行進(jìn)程申請內(nèi)存如何分配2、地址映射程序中的邏輯地址如何轉(zhuǎn)換成內(nèi)存物理地址3、地址保護(hù)保護(hù)進(jìn)程的物理地址空間不被非法訪問4、內(nèi)存的“擴(kuò)充”“擴(kuò)充”物理內(nèi)存Part1:OperatingSystem
Lecture4:MemoryManagement三、地址定位1、地址靜態(tài)定位Part1:OperatingSystem
Lecture4:MemoryManagement三、地址定位(續(xù))2、地址與地址空間邏輯地址由處理機(jī)(CPU)分析指令時產(chǎn)生,就是指令中的地址,或者說是用戶程序空間中的地址物理地址內(nèi)存中的地址,通過對該地址的譯碼找到內(nèi)存單元邏輯地址空間用戶程序空間,所有邏輯地址的集合,地址范圍:0-max物理地址空間內(nèi)存物理地址的集合,大小由地址總線決定用戶程序處理邏輯地址,用戶都認(rèn)為他的程序在地址范圍0—max進(jìn)行運(yùn)行,這里的max為邏輯地址的最大值。Part1:OperatingSystem
Lecture4:MemoryManagement三、地址定位(續(xù))3、動態(tài)重定位程序中的地址是邏輯地址,該地址程序運(yùn)行時轉(zhuǎn)換為內(nèi)存物理地址的,程序可“搬家”用基地址寄存器或重定位寄存器實(shí)現(xiàn)動態(tài)重定位Part1:OperatingSystem
Lecture4:MemoryManagementPart1:OperatingSystem
Lecture4:MemoryManagement四、內(nèi)存管理方法(Memorymanagementscheme)1、單一連續(xù)分區(qū)在操作系統(tǒng)起動后,內(nèi)存被分成兩個區(qū)域,一個區(qū)域存放操作系統(tǒng),另一區(qū)域存放用戶的程序,該方法只適用于單道程序的運(yùn)行優(yōu)點(diǎn):實(shí)現(xiàn)簡單;操作系統(tǒng)開銷小缺點(diǎn):只適用于單道程序,內(nèi)存利用率低Part1:OperatingSystem
Lecture4:MemoryManagement四、內(nèi)存管理方法(續(xù))2、固定分區(qū)在操作系統(tǒng)起動后,內(nèi)存被分成一系列固定不變的分區(qū)(partition),一次內(nèi)存分配以一塊分區(qū)為單位,進(jìn)程被裝入到一塊或連續(xù)的幾塊分區(qū)(進(jìn)程大于一塊分區(qū))優(yōu)點(diǎn):實(shí)現(xiàn)簡單;操作系統(tǒng)開銷小缺點(diǎn):由于產(chǎn)生內(nèi)部碎片,內(nèi)存利用率低Part1:OperatingSystem
Lecture4:MemoryManagement四、內(nèi)存管理方法(續(xù))2、固定分區(qū)(續(xù))內(nèi)部碎片Part1:OperatingSystem
Lecture4:MemoryManagement四、內(nèi)存管理方法(續(xù))3、動態(tài)分區(qū)(Dynamicpartitioning)除了操作系統(tǒng)占用的內(nèi)存外,剛開始內(nèi)存是一片連續(xù)的空間(一塊分區(qū)),進(jìn)程裝入內(nèi)存或進(jìn)程申請空間,要求多少給多少,從而一點(diǎn)都不浪費(fèi),申請一次,產(chǎn)生一塊分區(qū)。但經(jīng)過多次的申請和釋放,就出現(xiàn)一些很小的不連續(xù)的分區(qū),這些小分區(qū)都暫時小于申請空間,也就產(chǎn)生了外部碎片(不是分區(qū)內(nèi)部的)優(yōu)點(diǎn):無內(nèi)部碎片;比固定分區(qū)的內(nèi)存使用率高缺點(diǎn):要通過中央處理機(jī)去把這些不連續(xù)的外部碎片連在一起,使得這些外部碎片變成一塊大的分區(qū),增加了中央處理機(jī)的負(fù)擔(dān)。Part1:OperatingSystem
Lecture4:MemoryManagement動態(tài)分配空間的效果Part1:OperatingSystem
Lecture4:MemoryManagement動態(tài)分配空間的過程Part1:OperatingSystem
Lecture4:MemoryManagement動態(tài)分配空間的外碎片Part1:OperatingSystem
Lecture4:MemoryManagement四、內(nèi)存管理方法(續(xù))3、動態(tài)分區(qū)(續(xù))空閑分區(qū)分配算法*首次適應(yīng)算法(FirstFit)分配首個符合要求的空閑區(qū),如申請13K,第一行滿足要求最佳適應(yīng)算法(BestFit)分配符合要求的最小空閑區(qū),如申請36K,第二行滿足要求最壞適應(yīng)算法(WorstFit)分配符合要求的最大空閑區(qū),如申請36K,第三行滿足要求Part1:OperatingSystem
Lecture4:MemoryManagement緊湊或壓縮Part1:OperatingSystem
Lecture4:MemoryManagement四、內(nèi)存管理方法(續(xù))4、分頁管理物理內(nèi)存被劃分成大小相等的塊,稱作物理幀(Frame)用戶程序邏輯空間被劃分成與物理塊一樣大小的頁(pages)分頁管理允許一個進(jìn)程在內(nèi)存的物理地址是不連續(xù)的,從而壓縮(compaction)不再需要,因此,外部碎片消失但是,內(nèi)部碎片出現(xiàn)(頁內(nèi)碎片),每一進(jìn)程的碎片平均是半頁(出現(xiàn)在進(jìn)程的最后一頁)此外,分頁的方法需要硬件的支持,如,頁表(包含頁號,頁內(nèi)偏移量)。每一進(jìn)程有自己的頁表,記錄物理內(nèi)存中那些塊是分配給它的。Part1:OperatingSystem
Lecture4:MemoryManagementAddressspace1p0p1p2p3p4p1p1p2Addressspace2p0p1Addressspace3p4p2p1p0p1p3p0p1p0p2PhysicalAddressLogicalViewPhysicalViewFigure4.5Memoryisdividedintofixed-sizepages分頁p4p2p1p0p1p3p0p1p0p2Part1:OperatingSystem
Lecture4:MemoryManagement
PhysicalAddressFramenumber:FPageoffset:D頁號:P頁內(nèi)偏移量:DLogicalAddress頁表20bits12bits4KpagesFigure4.6Translatelogicaladdressintophysicaladdressinpaging地址映射Part1:OperatingSystem
Lecture4:MemoryManagementPagePFrameFDPDLogicalAddressFDPhysicalAddressIDPDLBPageNumberRegisterBaseaddressinPT(ID)P>=L?Trap!?Yes+P+B……F……Pagetable(PT)01P-1Figure4.7MappingoflogicaladdresstophysicaladdressNoInternalfragmentationPart1:OperatingSystem
Lecture4:MemoryManagement
4.PagingPagePFrameFDPDLogicalAddressFDPhysicalAddressIDPDLBPageNumberRegisterBaseaddressinPT(ID)P>=L?Trap!?Yes+P+B……F……Pagetable(PT)01P-1Figure4.8AddressmappinginpagingWithFFTNo快速頁表
(FPT)PFN-flagA-flagPart1:OperatingSystem
Lecture4:MemoryManagement四、內(nèi)存管理方法(續(xù))5、分段管理(Segmentation)物理內(nèi)存與動態(tài)分區(qū)管理一樣(申請多少給多少)用戶程序邏輯空間被劃分成段(Segmentation)分段管理允許一個進(jìn)程在內(nèi)存的物理地址是不連續(xù)的。由于申請多少給多少,從而內(nèi)部碎片消失但經(jīng)過多次的申請和釋放,就出現(xiàn)一些很小的不連續(xù)的分區(qū),這些小分區(qū)都暫時小于申請空間,也就產(chǎn)生了外部碎片,需要壓縮(compaction)此外,分段的方法需要硬件的支持,如,段表(包含段號,段內(nèi)偏移量)每一進(jìn)程有自己的段表,記錄物理內(nèi)存中那些分區(qū)是分配給她的Part1:OperatingSystem
Lecture4:MemoryManagementAddressspace1S0S1S2S3S0S1S2Addressspace2S2S0S1S3S0S1S2PhysicalAddressLogicalViewPhysicalViewFigure4.9Memoryisdividedintologicalsegments分段Part1:OperatingSystem
Lecture4:MemoryManagementPhysicalAddressSegmentnumber:S’Segmentoffset:D段號:S段內(nèi)偏移量:DLogicalAddressSegmentTableFigure4.10TranslatelogicaladdressintophysicaladdressinSegmentation地址映射Part1:OperatingSystem
Lecture4:MemoryManagement
SegmentSSegmentS’DSDLogicalAddressS’DPhysicalAddressIDSDLBSegmentNumberRegisterBaseaddressofST(ID)S>=L?Trap!?Yes+S+BFrametable(FT)01F-1Figure4.7MappingoflogicaladdresstophysicaladdressNoSBSL……s’s’L……D>=S’L?YesNoExternalfragmentationPart1:OperatingSystem
Lecture4:MemoryManagement四、虛擬存儲管理1、虛擬存儲管理(Virtualmemorymanagement)前面的內(nèi)存管理方法(1)(5)都要求:在進(jìn)程運(yùn)行時,要求整個進(jìn)程的代碼和數(shù)據(jù)被一次裝入內(nèi)存。但是,在大多數(shù)情況下,一次運(yùn)行一個程序時,不會運(yùn)行進(jìn)程所有的代碼,如,你執(zhí)行你的程序不會調(diào)用所有的子程序。其次,由于存在時間局部性(一條指令被執(zhí)行,不久又可能被執(zhí)行,稱程序的局部性原理)和空間局部性(一個數(shù)據(jù)被訪問,不久又可能被訪問,稱數(shù)據(jù)的局部性原理),在進(jìn)程內(nèi)存的頁不是被訪問一次就不再被訪問了,而是可能經(jīng)常被訪問。如循環(huán)體?;谝陨咸攸c(diǎn),考慮利用外存作為虛擬的內(nèi)存,只有需要執(zhí)行的代碼和數(shù)據(jù)才裝入內(nèi)存,否則存儲在比內(nèi)存大得多的外存上,這就是虛擬存儲管理技術(shù)的總體思想。Part1:OperatingSystem
Lecture4:MemoryManagement四、虛擬存儲管理(續(xù))2、請求式分頁管理(DemandPaging)核心問題還是解決邏輯地址到物理地址的轉(zhuǎn)換,與分頁管理的不同在于請求分頁不需要一個進(jìn)程所有的頁一次裝入內(nèi)存由于不是進(jìn)程所有的頁調(diào)入內(nèi)存,在進(jìn)程執(zhí)行時,就會出現(xiàn)下一條要執(zhí)行的指令不在內(nèi)存的情況,此時,操作系統(tǒng)就請求把包括該指令的頁從磁盤調(diào)入內(nèi)存,故稱請求分頁管理。請看下圖,請求分頁與分頁的區(qū)別在于頁表,一個進(jìn)程的那些頁在內(nèi)存,那些也不在內(nèi)存。Part1:OperatingSystem
Lecture4:MemoryManagement地址映射與缺頁中斷Part1:OperatingSystem
Lecture4:MemoryManagement四、虛擬存儲管理(續(xù))2、請求式分頁管理(續(xù))頁面替換算法(Pagereplacementalgorithms)由于內(nèi)存可能無空的頁,就要把其他進(jìn)程的頁換出到磁盤,得到的空頁給申請缺頁的進(jìn)程。替換算法的好壞主要體現(xiàn)在頁面缺頁率低先進(jìn)先出算法(Firstinfirstout–FIFOpagereplacement)依據(jù):在內(nèi)存最長時間的也可能不再被用到,即程序執(zhí)行的時間上的局部性特點(diǎn)Part1:OperatingSystem
Lecture4:MemoryManagementFIFO頁面置換算法案例Part1:OperatingSystem
Lecture4:MemoryManagement四、虛擬存儲管理(續(xù))2、請求式分頁管理(續(xù))對有些頁面替換算法,當(dāng)內(nèi)存的空頁增加時,缺頁率反而增加,該現(xiàn)象稱為Belady’現(xiàn)象。FIFO算法就是其中之一同學(xué)們可以對訪問頁的順序?yàn)椋?,2,3,4,1,2,5,1,2,3,4,5。在內(nèi)存總數(shù)分別為1、2、3、4、5、6頁的情況下,求FIFO算法的缺頁率。Part1:OperatingSystem
Lecture4:MemoryManagement四、虛擬存儲管理(續(xù))2、請求式分頁管理(續(xù))最近最少使用換頁算法(Least-recently-unusedreplacement)選擇內(nèi)存中最長時間未被使用的頁換到磁盤。Unix采用之。依據(jù):程序執(zhí)行的空間局部性特點(diǎn)Part1:OperatingSystem
Lecture4:MemoryManagementLRU頁面置換算法案例共訪問20頁面,12次缺頁P(yáng)art1:OperatingSystem
Lecture4:MemoryManagement四、虛擬存儲管理(續(xù))2、請求式分頁管理(續(xù))最佳頁面換頁算法(OptimalAlgorithm)選擇內(nèi)存中將在最長時間內(nèi)不會使用的頁換到磁盤。不幸的是,很難判斷最佳頁面3、抖動(thrashing
)過高缺頁率的現(xiàn)象,系統(tǒng)用于交換頁面的時間遠(yuǎn)遠(yuǎn)大于CPU執(zhí)行的時間影響缺頁率的主要因素分配的頁面數(shù),一般的,moreframes?lesspagefaultsPart1:OperatingSystem
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒教師的教學(xué)故事六篇
- 全國新型電力系統(tǒng)(配電自動化)職業(yè)技能競賽參考試題庫500題(含答案)
- 《預(yù)防未成年人犯罪法》知識考試題庫80題(含答案)
- 大學(xué)衛(wèi)生學(xué)課件
- 汽車租賃合同詳細(xì)條款正規(guī)范本
- 滄州房屋租賃合同
- 棉花運(yùn)輸合同范本
- 標(biāo)準(zhǔn)的員工勞動合同
- 大數(shù)據(jù)分析平臺建設(shè)及運(yùn)營合同
- 海外房產(chǎn)銷售代理合同范本
- 護(hù)理人文知識培訓(xùn)課件
- 建筑工程施工安全管理課件
- 2025年春新人教版數(shù)學(xué)七年級下冊教學(xué)課件 7.2.3 平行線的性質(zhì)(第1課時)
- 安徽省合肥市2025年高三第一次教學(xué)質(zhì)量檢測地理試題(含答案)
- 2025年新合同管理工作計(jì)劃
- 統(tǒng)編版八年級下冊語文第三單元名著導(dǎo)讀《經(jīng)典常談》閱讀指導(dǎo) 學(xué)案(含練習(xí)題及答案)
- 風(fēng)光儲儲能項(xiàng)目PCS艙、電池艙吊裝方案
- 全面解讀新能源法律風(fēng)險(xiǎn)與應(yīng)對措施
- 民法學(xué)詳細(xì)教案
- 浙江省杭州市2023年中考一模語文試題及答案
- 上海市楊浦區(qū)2022屆初三中考二模英語試卷+答案
評論
0/150
提交評論