




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
ch4-4.7虛擬存儲管理CH4存儲管理4.1主存儲器4.2連續(xù)存儲空間管理4.3分頁式存儲管理
4.4分段式存儲管理4.5段頁式存儲管理4.6交換技術(shù)和覆蓋技術(shù)4.7虛擬存儲管理
4.8實例研究:IntelPentium存儲管理硬件設施ch4-4.7虛擬存儲管理4.7虛擬存儲管理4.7.1虛擬存儲管理的概述4.7.2請求分頁虛擬存儲管理
4.7.3請求分段虛擬存儲管理4.7.4請求段頁式虛擬存儲管理ch4-4.7虛擬存儲管理4.7.1虛擬存儲管理概述
1、問題的提出
程序大于內(nèi)存當要運行的作業(yè)很多,而內(nèi)存空間不足的時,只能讓一部分作業(yè)先運行,大量作業(yè)只能在外存中等待。虛擬存貯管理策略考慮的出發(fā)點是基于程序局部性原理——在一段時間內(nèi),一個程序的執(zhí)行往往呈現(xiàn)出高度的局部性,它對內(nèi)存的訪問是很不均勻的。ch4-4.7虛擬存儲管理2、局部性原理局部性原理:指程序在執(zhí)行過程中的一個較短時期內(nèi),所執(zhí)行的指令地址和指令的操作數(shù)地址分別局限于一定區(qū)域。主要表現(xiàn)為:時間局部性:一條指令的一次執(zhí)行和下次執(zhí)行,一個數(shù)據(jù)的一次訪問和下次訪問都集中在一個較短時期內(nèi);原因是由于在程序中存在著大量的循環(huán)、子程序等程序結(jié)構(gòu)??臻g局部性:若某一存儲單元被訪問,那么與該存儲單元相鄰的單元可能也會很快被訪問。ch4-4.7虛擬存儲管理虛擬存儲管理的主要技術(shù)是部分裝入和部分對換。①部分裝入:當用戶作業(yè)被調(diào)度開始執(zhí)行時,不必將作業(yè)全部讀入主存,而是將當前需要執(zhí)行的部分讀入主存,其他部分根據(jù)作業(yè)執(zhí)行的需要逐步裝入主存。②部分對換:在程序執(zhí)行過程中,當內(nèi)存空間緊張時,操作系統(tǒng)將暫不執(zhí)行的部分程序和數(shù)據(jù)調(diào)出,保存在外存上,從而騰出內(nèi)存空間存放將要裝入的程序和數(shù)據(jù),或者留給系統(tǒng)再分配。
虛擬存儲管理的目的:把分開編址的二級存儲器——內(nèi)存和輔存,變成面向用戶的,邏輯上可以統(tǒng)一編址的虛擬存儲器。3、虛擬存儲管理的基本思想ch4-4.7虛擬存儲管理4、虛擬存儲器的定義在具有層次結(jié)構(gòu)存儲器的計算機系統(tǒng)中,采用自動實現(xiàn)部分裝入和部分對換功能,為用戶提供一個比物理主存容量大得多的,可尋址的一種“主存儲器”。虛擬存儲器的大小受限于計算機的地址結(jié)構(gòu)及可用的外存的容量???cè)萘坎怀^物理內(nèi)存和外存交換區(qū)容量之和。ch4-4.7虛擬存儲管理5、虛擬存儲器的特征⑴離散性:系統(tǒng)內(nèi)存管理機構(gòu)分配給該作業(yè)的內(nèi)存空間不一定是連續(xù)的。⑵多次性:多次性是指一個作業(yè)被分成多次調(diào)入主存內(nèi)運行。⑶對換性:在進程運行過程中,可以把那些暫時不運行的程序和數(shù)據(jù),從內(nèi)存調(diào)至外存的對換區(qū),把當前要運行的程序和數(shù)據(jù)調(diào)入內(nèi)存??梢姡瑢Q有利于提高內(nèi)存的利用率。⑷虛擬性:操作系統(tǒng)通過把內(nèi)存和輔存從邏輯上結(jié)合起來,使用戶感覺到存儲容量遠遠大于實際的內(nèi)存容量,以實現(xiàn)擴充內(nèi)存的目的。ch4-4.7虛擬存儲管理實現(xiàn)虛擬存儲器必須解決好以下有關問題:主存輔存統(tǒng)一管理問題邏輯地址到物理地址的轉(zhuǎn)換問題部分裝入和部分對換問題虛擬存儲管理主要采用以下存儲管理方法實現(xiàn):請求分頁虛擬存儲管理請求分段虛擬存儲管理請求段頁式虛擬存儲管理ch4-4.7虛擬存儲管理4.7.2請求分頁式存儲管理
——動態(tài)離散分配方式1.基本思想⑴等份主存、用戶邏輯地址空間將程序的邏輯地址空間劃分成若干大小相等的區(qū)域,稱為頁或頁面。相應地,將物理內(nèi)存劃分為與頁大小相等的區(qū)域,稱為塊或物理塊,并分別給頁和塊編以連續(xù)的序號0、1、2、3、……⑵主存分配原則以塊為單位分配,作業(yè)以頁調(diào)入塊中,作業(yè)塊不一定是連續(xù)的,但不必全部裝入。ch4-4.7虛擬存儲管理請求分頁式存儲管理基本思想部分裝入:在進程開始運行之前,不是裝入全部頁面,而是裝入一個或零個頁面,之后根據(jù)進程運行的需要,動態(tài)裝入其它頁面;部分對換:當內(nèi)存空間已滿,而又需要裝入新的頁面時,則根據(jù)某種算法淘汰某個頁面,以便裝入新的頁面ch4-4.7虛擬存儲管理2.數(shù)據(jù)結(jié)構(gòu)作業(yè)表:整個系統(tǒng)有一個作業(yè)表,描述系統(tǒng)內(nèi)各個進程頁表的起始位置和大小,用于地址轉(zhuǎn)換。物理頁面表(內(nèi)存塊表):整個系統(tǒng)有一個物理頁面表,描述物理內(nèi)存空間的空閑和占用狀況。頁表:每個進程有一個頁表,描述該進程相應頁在系統(tǒng)中的狀況。如是否在內(nèi)存?頁對應的塊號?ch4-4.7虛擬存儲管理標志位(存在位):用于指示該頁是在內(nèi)存還是在外存。訪問統(tǒng)計:在近期內(nèi)被訪問的次數(shù),或最近一次訪問到現(xiàn)在的時間間隔。決定淘汰哪頁(由不同的算法決定)。修改位:表示該頁在調(diào)入內(nèi)存后是否被修改過。外存地址:用于指出該頁在外存上的地址。頁表表項:頁號物理塊號標志位訪問字段修改位外存地址ch4-4.7虛擬存儲管理3.請求分頁存儲管理系統(tǒng)頁面分配過程該頁修改過嗎?Y寫回輔存N根據(jù)某種算法淘汰一頁調(diào)整頁表地址映射YN獲得邏輯地址:頁號、頁內(nèi)位移該頁在內(nèi)存?N有無空閑塊?Y調(diào)入頁面產(chǎn)生缺頁中斷啟動待執(zhí)行指令執(zhí)行指令指令地址+1缺頁中斷處理過程
頁面淘汰ch4-4.7虛擬存儲管理4.缺頁中斷什么是缺頁中斷在地址映射過程中,在頁表中發(fā)現(xiàn)所要訪問的頁不在內(nèi)存,則產(chǎn)生缺頁中斷。操作系統(tǒng)接到此中斷信號后,就調(diào)出缺頁中斷處理程序,根據(jù)頁表中給出的外存地址,將該頁調(diào)入內(nèi)存,使作業(yè)繼續(xù)運行下去。缺頁中斷與與一般的中斷的區(qū)別
-在指令執(zhí)行期間產(chǎn)生和處理中斷信號。當所缺的頁面調(diào)入之后,重新執(zhí)行被中斷的指令。-一條指令在執(zhí)行期間,可能產(chǎn)生多次缺頁中斷。ch4-4.7虛擬存儲管理缺頁率缺頁率f等于
缺頁次數(shù)F
/內(nèi)存總訪問次數(shù)A
(比率)
即f=F/Ach4-4.7虛擬存儲管理⑦發(fā)缺頁中斷5.請求分頁地址轉(zhuǎn)換過程(1)
邏輯空間地址主存(用戶區(qū))CPU邏輯地址快表主存(系統(tǒng)區(qū))④查頁表輔存缺頁中斷處理①分解地址③⑤訪問MMU②查快表③命中④不命中⑤頁表命中⑧調(diào)頁⑨裝入、改表⑥裝入快表運行進程映象物理地址頁框頁內(nèi)地址頁號頁內(nèi)地址ch4-4.7虛擬存儲管理分頁式虛擬存儲系統(tǒng)的硬件支撐(1)
主存管理單元MMU完成邏輯地址到物理地址的轉(zhuǎn)換功能,它接受虛擬地址作為輸入,物理地址作為輸出,直接送到總線上,對主存單元進行尋址。ch4-4.7虛擬存儲管理分頁式虛擬存儲系統(tǒng)的硬件支撐
CPUMMU內(nèi)存CPU把邏輯地址送至MMUMMU把物理地址送至主存
MMU的位置、功能和16個4KB頁面情況下MMU的內(nèi)部操作CPU送入的邏輯地址(8196)
0010000000000100
110000000000100MMU送出的物理地址00101100112110130001410015011160000700008101190000…頁號頁框號在主存否ch4-4.7虛擬存儲管理MMU主要功能(1)管理硬件頁表基址寄存器。(2)分解邏輯地址。(3)管理快表TLB。(4)訪問頁表。(5)發(fā)出缺頁中斷或越界中斷,并將控制權(quán)交給內(nèi)核存儲管理處理。(6)設置和檢查頁表中各個特征位。ch4-4.7虛擬存儲管理
地址轉(zhuǎn)換過程(2)
查快表有登記無登記查頁表登記入快表發(fā)缺頁中斷在主存在輔存形成絕對地址繼續(xù)執(zhí)行指令重新執(zhí)行被中斷指令恢復現(xiàn)場調(diào)整頁表和主存分配表裝入所需頁面主存有空閑塊保護現(xiàn)場有選擇調(diào)出頁面該頁是否修改未修改已修改把該頁寫回輔存相應位置操作系統(tǒng)硬件邏輯地址無ch4-4.7虛擬存儲管理6.頁面的調(diào)入和分配策略請求調(diào)頁(demandpaging):只調(diào)入發(fā)生缺頁時所需的頁面。優(yōu)點:確保只有被訪問的頁調(diào)入主存,節(jié)省內(nèi)存。缺點:調(diào)入頁的開銷大,增加了對外存I/O次數(shù)預調(diào)頁(prepaging):OS依據(jù)某種算法預測,預先將某頁或若干頁調(diào)入主存。優(yōu)點:提高調(diào)頁的I/O效率。缺點:基于預測,若調(diào)入的頁在以后很少被訪問,則效率低。常用于程序裝入時的調(diào)頁。(1)調(diào)入策略調(diào)入策略確定在外存中的頁面調(diào)入時機。在虛擬頁式管理中有兩種常用策略。ch4-4.7虛擬存儲管理(2)頁面分配策略系統(tǒng)為進程分配主存,需考慮因素:①分給進程的空間越小,同一時間處于主存的進程就越多,至少有一個進程處于就緒態(tài)的可能性就越大②如果進程只有小部分在主存里,即使局部性很好,缺頁中斷率還會相當③因程序的局部性原理,分給進程的主存超過一定限度后,再增加主存空間,不會明顯降低進程的缺頁中斷率。ch4-4.7虛擬存儲管理頁面分配策略:固定分配進程保持頁框數(shù)固定不變,稱固定分配;進程創(chuàng)建時,根據(jù)進程類型和程序員的要求決定頁框數(shù),只要有一個缺頁中斷產(chǎn)生,進程就會有一頁被替換。ch4-4.7虛擬存儲管理頁面分配策略:可變分配進程分得的頁框數(shù)可變,稱可變分配;進程執(zhí)行的某階段缺頁率較高,說明目前局部性較差,系統(tǒng)可多分些頁框以降低缺頁率,反之說明進程目前的局部性較好,可減少分給進程的頁框數(shù)ch4-4.7虛擬存儲管理頁面替換策略:局部替換和全局替換頁面替換需要采用一定的算法來實現(xiàn)算法如果頁面替換算法的作用范圍是整個系統(tǒng),稱全局頁面替換算法,它可以在運行進程間動態(tài)地分配頁框。解決:從那個進程選擇頁面?缺頁中斷率是否上升?如果頁面替換算法的作用范圍局限于本進程,稱為局部頁面替換算法,它實際上需要為每個進程分配固定的頁框。
ch4-4.7虛擬存儲管理固定分配和局部替換策略配合使用(1)進程分得的頁框數(shù)不變,發(fā)生缺頁中斷,只能從進程的頁面中選頁替換,保證進程的頁框總數(shù)不變。策略難點:應給每個進程分配多少頁框?給少了,缺頁中斷率高;給多了,使主存中能同時執(zhí)行的進程數(shù)減少,進而造成處理器和其它設備空閑。ch4-4.7虛擬存儲管理固定分配和局部替換策略配合使用(2)
采用固定分配算法,系統(tǒng)把頁框分配給進程,采用:①平均分配,②按比例分配,③優(yōu)先權(quán)分配。ch4-4.7虛擬存儲管理可變分配和全局替換策略配合使用先每個進程分配一定數(shù)目頁框,os保留若干空閑頁框,進程發(fā)生缺頁中斷時,從系統(tǒng)空閑頁框中選一個給進程,這樣產(chǎn)生缺頁中斷進程的主存空間會逐漸增大,有助于減少系統(tǒng)的缺頁中斷次數(shù)。系統(tǒng)擁有的空閑頁框耗盡時,會從主存中選擇一頁淘汰,該頁可以是主存中任一進程的頁面,這樣又會使那個進程的頁框數(shù)減少,缺頁中斷率上升。ch4-4.7虛擬存儲管理可變分配和局部替換配合使用其實現(xiàn)要點如下:(1)新進程裝入主存時,根據(jù)應用類型、程序要求,分配給一定數(shù)目頁框,可用請頁式或預調(diào)式完成這個分配。(2)產(chǎn)生缺頁中斷時,從該進程駐留集中選一個頁面替換。(3)不時重新評價進程的分配,增加或減少分配給進程的頁框以改善系統(tǒng)性能。ch4-4.7虛擬存儲管理7.頁面置換算法最佳置換算法(OPT,Belady算法)-算法:淘汰那些以后永不使用,或者是在最長時間內(nèi)不再被訪問的頁。-無法實現(xiàn)的,只能作為其它置換算法的衡量標準。
先進先出算法(FIFO)-算法:每次淘汰最先進入主存的頁-優(yōu)點:簡單,易于實現(xiàn)-缺點:效率不高,可能產(chǎn)生“抖動”現(xiàn)象ch4-4.7虛擬存儲管理例1:計算缺頁次數(shù)
某程序在內(nèi)存中分配三個頁面,初始為空,頁面走向為4,3,2,1,4,3,5,4,3,2,1,5ch4-4.7虛擬存儲管理共缺頁中斷7次,缺頁率=7/12=58%ch4-4.7虛擬存儲管理
共缺頁中斷9次,缺頁率=9/12=75%ch4-4.7虛擬存儲管理例2:計算缺頁次數(shù)用FIFO算法計算某程序在內(nèi)存中分配m頁初始為空,頁面走向為1,2,3,4,1,2,5,1,2,3,4,5。當m=3,m=4時缺頁中斷分別為多少?ch4-4.7虛擬存儲管理如果在內(nèi)存中分配3個頁面,則缺頁情況如下:12次訪問中有缺頁9次;ch4-4.7虛擬存儲管理如果在內(nèi)存中分配4個頁面,則缺頁情況如下:12次訪問中有缺頁10次;ch4-4.7虛擬存儲管理例2:計算缺頁次數(shù)m=3時,缺頁中斷9次m=4時,缺頁中斷10次注:FIFO頁面淘汰算法會產(chǎn)生異?,F(xiàn)象,即:當分配給進程的物理頁面數(shù)增加時,缺頁次數(shù)反而增加。ch4-4.7虛擬存儲管理抖動現(xiàn)象:采用FIFO算法時,如果對一個進程未分配它所要求的全部頁面,有時就會出現(xiàn)分配的頁面數(shù)增多,缺頁率反而提高的異常現(xiàn)象。異常現(xiàn)象的原因:FIFO算法的置換特征與進程訪問內(nèi)存的動態(tài)特征是矛盾的,即被置換的頁面并不是進程不會訪問的。抖動現(xiàn)象ch4-4.7虛擬存儲管理最近最久未使用(LRU)算法
-算法:選擇淘汰內(nèi)存中那些在最近一段時間里最久未使用的頁面置換。但由于需要記錄頁面使用時間的先后關系,硬件開銷太大。硬件機構(gòu)如:一個特殊的棧:把被訪問的頁面移到棧頂,于是棧底的是最久未使用頁面。每個頁面設立移位寄存器:被訪問時左邊最高位置1,定期右移并且最高位補0,于是寄存器數(shù)值最小的是最久未使用頁面。ch4-4.7虛擬存儲管理
缺頁中斷10次,缺頁率=10/12=83%ch4-4.7虛擬存儲管理第二次機會頁面替換算法改進FIFO算法,把FIFO與頁表中的”引用位”結(jié)合起來使用:檢查FIFO中的隊首頁面(最早進入主存的頁面),如果它的”引用位”是0,這個頁面既老又沒有用,選擇該頁面淘汰;如果”引用位”是1,說明它進入主存較早,但最近仍在使用。把它的”引用位”清0,并把這個頁面移到隊尾,把它看作是一個新調(diào)入的頁。算法含義:最先進入主存的頁面,如果最近還在被使用的話,仍然有機會作為像一個新調(diào)入頁面一樣留在主存中。ch4-4.7虛擬存儲管理時鐘頁面替換算法(1)
算法實現(xiàn)要點(1):?
一個頁面首次裝入主存,其“引用位”置0。主存中的任何頁面被訪問時,”引用位”置1。淘汰頁面時,從指針當前指向的頁面開始掃描循環(huán)隊列,把遷到的”引用位”是1的頁面的”引用位”清0,跳過這個頁面;把所遷到的”引用位”是0的頁面淘汰掉,指針推進一步。ch4-4.7虛擬存儲管理時鐘頁面替換算法(2)
算法實現(xiàn)要點(2):掃描循環(huán)隊列時,如果遷到的所有頁面的”引用位”為1,指針就會繞整個循環(huán)隊列一圈,把碰到的所有頁面的”引用位”清0;指針停在起始位置,并淘汰掉這一頁,然后,指針推進一步。ch4-4.7虛擬存儲管理時鐘頁面替換算法的一個例子
一個頁替換前的緩沖區(qū)狀態(tài)下一頁替換后的緩沖區(qū)狀態(tài)Page9use=1Page19Use=1Page1Use=0Page45Use=1Page191Use=1Page556Use=0Page13Use=0Page67Use=1Page33Use=1Page222Use=0下一個幀指針n012345678Page9use=1Page19Use=1Page1Use=0Page45Use=0Page191Use=1Page727Use=1Page13Use=0Page67Use=1Page33Use=1Page222Use=0n012345678第1頁框ch4-4.7虛擬存儲管理時鐘頁面替換改進算法(1)把”引用位”和”修改位”結(jié)合起來使用,共組合成四種情況:(1)最近沒有被引用,沒有被修改(r=0,m=0)(2)最近被引用,沒有被修改(r=1,m=0)(3)最近沒有被引用,但被修改(r=0,m=1)(4)最近被引用過,也被修改過(r=1,m=1)ch4-4.7虛擬存儲管理時鐘頁面替換改進算法(2)步1:選擇最佳淘汰頁面,從指針當前位置開始,掃描循環(huán)隊列。掃描過程中不改變”引用位”,把遇到的第一個r=0,m=0的頁面作為淘汰頁面。步2:如果步1失敗,再次從原位置開始,查找r=0且m=1的頁面,把把遇到的第一個這樣的頁面作為淘汰頁面,而在掃描過程中把指針所掃過的頁面的”引用位”r置0。ch4-4.7虛擬存儲管理時鐘頁面替換改進算法(3)步3:如果步2失敗,指針再次回到了起始位置,由于此時所有頁面的”引用位”r均己為0,再轉(zhuǎn)向步1操作,必要時再做步2操作,這次一定可以挑出一個可淘汰的頁面。ch4-4.7虛擬存儲管理8.影響缺頁次數(shù)的因素(1)分配給進程的物理頁面數(shù)(2)頁面大小(3)程序的編制方法(4)頁面淘汰算法ch4-4.7虛擬存儲管理9.請求頁式存儲管理的優(yōu)缺點優(yōu)點:作業(yè)的程序和數(shù)據(jù)可按頁分散存放在內(nèi)存中,減少移動開銷,有效解決了碎片問題;既有利于改進主存利用率,又有利于多道程序運行。缺點:要有硬件支持,要進行缺頁中斷處理,機器成本增加,系統(tǒng)開銷加大。
ch4-4.7虛擬存儲管理10.性能問題⑴顛簸(抖動)
在虛存中,頁面在內(nèi)存與外存之間頻繁調(diào)度,以至于調(diào)度頁面所需時間比進程實際運行的時間還多,此時系統(tǒng)效率急劇下降,甚至導致系統(tǒng)崩潰。這種現(xiàn)象稱為顛簸或抖動.原因:頁面淘汰算法不合理分配給進程的物理頁面數(shù)太少ch4-4.7虛擬存儲管理工作集模型和工作集置換算法進程工作集指“在某一段時間間隔內(nèi)進程運行所需訪問的頁面集合”。實現(xiàn)思想:
工作集模型用來對局部最佳頁面替換算法進行模擬實現(xiàn),不向前查看頁面引用串,而是基于程序局部性原理向后看,在任何給定時刻,一個進程不久的將來所需主存頁框數(shù),可通過考查其過去最近的時間內(nèi)的主存需求做出估計。ch4-4.7虛擬存儲管理⑵工作集(WorkingSet)模型
基本思想:根據(jù)程序的局部性原理,一般情況下,進程在一段時間內(nèi)總是集中訪問一些頁面,這些頁面稱為活躍頁面,如果分配給一個進程的物理頁面數(shù)太少了,使該進程所需的活躍頁面不能全部裝入內(nèi)存,則進程在運行過程中將頻繁發(fā)生中斷。如果能為進程提供與活躍頁面數(shù)相等的物理頁面數(shù),則可減少缺頁中斷次數(shù)。ch4-4.7虛擬存儲管理工作集:
對于給定的訪問序列選取定長的區(qū)間,稱為工作集窗口,落在工作集窗口中的頁面集合稱為工作集。進程工作集指“在某一段時間間隔內(nèi)進程運行所需訪問的頁面集合”。內(nèi)容取決于頁的三個因素:訪頁序列特性時刻Ti
窗口長度(△)ch4-4.7虛擬存儲管理例:
261234443434441327||t1||t2ws(t1)={1,2,5,6,7}ws(t2)={3,4}ch4-4.7虛擬存儲管理12請求分頁虛擬存儲管理的幾個設計問題頁面大小
.從頁表大小考慮
.從主存利用率考慮
.從讀寫一個頁面所需時間考慮
.最佳頁面尺寸頁面
ch4-4.7虛擬存儲管理12請求分頁虛擬存儲管理的幾個設計問題
(1)最佳頁面尺寸假定S表示用戶作業(yè)程序的字節(jié)數(shù)平均長度,P表示以字節(jié)為單位的頁面長度,且有S>>P,頁表項需要e個字節(jié)。作業(yè)的頁表長度為S/P,占用了Se/P個字節(jié)的頁表空間,作業(yè)的最后一頁,浪費的主存平均為P/2字節(jié)。對一個作業(yè)而言:浪費的存儲字=頁表使用的主存空間+內(nèi)部碎片=Se/P+P/2ch4-4.7虛擬存儲管理最佳頁面尺寸頁面較小時頁表占用空間多(因Se/P較大),頁面較大時內(nèi)部碎片浪費多(因P/2較大)?,F(xiàn)對P求一階導數(shù)并令其為0,得到-Se/P2+1/2=0
那么,可以得出最優(yōu)頁面尺寸
P=根號(2Se)時,浪費的存儲字節(jié)最少,稱P為最佳頁面尺寸。ch4-4.7虛擬存儲管理(2)頁面交換區(qū)替換算法要挑選頁面淘汰出主存,但被淘汰出去的頁面可能很快使用,又要被重新裝入主存。操作系統(tǒng)必須保存被淘汰的頁面,例如UNIX/Linux使用交換區(qū)臨時保存頁面,系統(tǒng)初始化時,保留一定盤空間作交換區(qū)。ch4-4.7虛擬存儲管理(3)寫時復制寫時復制(copy-on-write)是存儲管理節(jié)省物理主存(頁框)的一種頁面級優(yōu)化技術(shù),已被UNIX和Windows等采用,能減少主存頁面內(nèi)容的復制操作,減少相同內(nèi)容頁面在主存的副本數(shù)目。ch4-4.7虛擬存儲管理寫時復制(2)
原始數(shù)據(jù)原始數(shù)據(jù)原始數(shù)據(jù)進程地址空間物理地址空間原始數(shù)據(jù)原始數(shù)據(jù)原始數(shù)據(jù)進程地址空間物理地址空間原始數(shù)據(jù)原始數(shù)據(jù)原始數(shù)據(jù)進程地址空間原始數(shù)據(jù)原始數(shù)據(jù)原始數(shù)據(jù)進程地址空間頁面2副本頁面1頁面2頁面3頁面1頁面2頁面3ch4-4.7虛擬存儲管理4.7.3請求分段式存儲管理
——動態(tài)離散分配方式1.基本思想用戶程序劃分⑴按程序自身的邏輯關系,將程序的邏輯地址空間劃分成若干段,每個段都是獨立的邏輯單位,有完整和相對獨立的意義。一個程序由若干段組成,每個段的大小可以不同。⑵每個程序段都有一個段名,且有一個段號。段號從0開始,每一段也從0開始編址,段內(nèi)地址是連續(xù)的。ch4-4.7虛擬存儲管理
內(nèi)存分配
主存以段為單位分配內(nèi)存,每一個段在內(nèi)存中占據(jù)連續(xù)空間,一個進程的各段所分到的主存分區(qū)可以是不連續(xù)的。部分裝入:在作業(yè)運行之前,不需要把作業(yè)的整個地址空間全部裝入主存,而只要將作業(yè)當前需要的一段或幾段裝入主存即可開始運行。部分對換:在執(zhí)行過程中,當所需要的段不在主存時再將它調(diào)入。請求分段式存儲管理ch4-4.7虛擬存儲管理特征位:00不在內(nèi)存,01在內(nèi)存,11共享段;存取權(quán)限:00可執(zhí)行,01可讀,11可寫;擴充位:0固定長,1可擴充;標志位:00未修改,01已修改,11不可移動;外存地址:本段在外存上的起始地址。2.對進程段表的修改段號段長基址特征位存取權(quán)限擴充位標志位外存地址ch4-4.7虛擬存儲管理3.缺段中斷如果訪問的段不在主存中,系統(tǒng)將產(chǎn)生一個缺段中斷,請求操作系統(tǒng)將所缺的段調(diào)入主存。缺段中斷的特殊性缺段中斷在指令執(zhí)行期間產(chǎn)生和進行處理。一條指令的執(zhí)行可能產(chǎn)生多次缺段中斷。ch4-4.7虛擬存儲管理需調(diào)入新段S內(nèi)存中有空閑區(qū)≥S的段長是否合并空閑區(qū),形成長度大于S段長的空閑區(qū)為段S分配內(nèi)存空閑區(qū),調(diào)段S至內(nèi)存修改段表返回內(nèi)存中空閑區(qū)總和大于S段長是按一定的算法淘汰段,形成大于S的空閑區(qū)缺段中斷處理過程ch4-4.7虛擬存儲管理4.地址轉(zhuǎn)換過程S段在內(nèi)存否是B<S段長度發(fā)越界中斷是否形成絕對地址繼續(xù)執(zhí)行指令移動或調(diào)出分段S段末端相鄰空閑區(qū)長度滿足要求地址錯S段可擴充是裝入S段重新啟動指令調(diào)整S段段表及主存分配表操作系統(tǒng)硬件否符合存取權(quán)限發(fā)保護中斷是否發(fā)缺段中斷非法存取否主存中有滿足S段長度的連續(xù)空閑區(qū)是否是移動或調(diào)出分段ch4-4.7虛擬存儲管理請求分段存儲管理系統(tǒng)的地址變換過程邏輯地址:段號S、段內(nèi)位移D該段在內(nèi)存?缺段中斷YND>段長?越界中斷允許本次訪問?YNNY修改訪問字段,置訪問位和狀態(tài)分段保護中斷查快表或段表,段S的始址+段內(nèi)位移D形成物理地址ch4-4.7虛擬存儲管理越界中斷處理進程在執(zhí)行過程中,有時需要擴大分段,如數(shù)據(jù)段。由于要訪問的地址超出原有的段長,所以發(fā)越界中斷。操作系統(tǒng)處理中斷時,首先判斷該段的“擴充位”,如可擴充,則增加段的長度;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZSM 0057-2024“領跑者”評價技術(shù)要求 石油、石化及相關工業(yè)用的鋼制球閥
- T-ZJZYC 010-2024 中藥材產(chǎn)業(yè)合規(guī)管理規(guī)范
- 二零二五年度個人向新能源車輛制造商借款購買電動車的合同
- 歷年合同法司考備考輔導班師資聘用合同2025年度
- 2025年度集體土地租賃與特色小鎮(zhèn)建設合同
- 二零二五年度互聯(lián)網(wǎng)廣告聯(lián)盟合作協(xié)議合同
- 2025年度砂石場勞務人員薪酬及福利待遇合同
- 二零二五年度網(wǎng)紅獨家經(jīng)紀合作協(xié)議模板
- 二零二五年度電子商務平臺支付清算合同范本
- 新能源汽車項目買賣合同
- 地質(zhì)災害預防培訓課件
- 2025新譯林版英語七年級下單詞默寫表
- 部編版小學語文三年級下冊第六單元教材解讀及教學建議
- DB11T 1315-2015 綠色建筑工程驗收規(guī)范
- 山東省2024年夏季普通高中學業(yè)水平合格考試地理試題02(解析版)
- 《ISO 41001-2018 設施管理- 管理體系 要求及使用指南》專業(yè)解讀與應用指導材料之16:“8運行”(雷澤佳編制-2024)
- 2024智慧城市數(shù)據(jù)分類標準規(guī)范
- Linux系統(tǒng)管理與服務器配置-基于CentOS 7(第2版) 課件 第1章CentOS Linux 7系統(tǒng)的安裝與介紹
- 新目標英語中考一輪教材梳理復習教案
- 2022新教材蘇教版科學5五年級下冊全冊教學設計
- 光伏電氣設備試驗方案
評論
0/150
提交評論