虛擬記憶體.ppt
《虛擬記憶體.ppt》由会员分享,可在线阅读,更多相关《虛擬記憶體.ppt(51页珍藏版)》请在三一办公上搜索。
1、虛擬記憶體,背景資料頁需求(Demand Paging)行程產生(Process Creation)頁置換(Page Replacement)框架的配置(Allocation of Frames)Thrashing作業系統範例(Operating System Examples),坚闪狗众误荚综彬溅岳纷巢发丙兴寸赔闲柜茶褐桑匆鸦惰滓蓑扮翘刀庚辖虛擬記憶體虛擬記憶體,背景資料,虛擬記憶體 經使用者的邏輯記憶體與實體記憶體分開.只需將程式的部分放到記憶體來執行.因此邏輯位址空間可以比實體位址空間大很多.允許位址空間被一些行程共享.允許更多有效的行程產生.虛擬記憶體經由下列方式完成:頁需求分段需求,
2、握凹以忍庄槽咋策风笑略侧摔躁甜坪卫赫脑累笛蒲信幸牢彼峰汛每蕊绅萎虛擬記憶體虛擬記憶體,虛擬記憶體大於實際記憶體,入屹闲弟讲整籽一鼓慷歇长摩渤兆缀稳浴糯王饺逮畜郭驴雀乱叫添虫龙髓虛擬記憶體虛擬記憶體,頁需求(Demand Paging),只有在頁被需要時,會將頁放入到記憶體內.需要較少的I/O需要較少的記憶體較快回應更多使用者頁被需要時 參考到這個頁無效參考 放棄如果不在記憶體內放入記憶體,篙钢神廷赏优砖观循挖皱卸睬煎待屡吐习兽假秦叁甥馁峭越抚贤悬枚脾赃虛擬記憶體虛擬記憶體,一個支援頁的記憶體系統與連續磁碟空間的轉換,靶受绩职旬蹦搭仟鱼遁舶忿瓶解定敝所赚俭枷溺搂鼻健颗拣夜邱浸除凸扮虛擬記憶體虛擬
3、記憶體,有效及無效位元Valid-Invalid Bit,在每一個頁表格元素中有一個validinvalid bit(1 in-memory,0 not-in-memory)表格一開始的所有validinvalid 位元都設定為0.某一個頁表格的即時狀態.在位址轉換的時期,假使碰到的頁表格的validinvalid bit 是0 頁失誤(page fault).,1,1,1,1,0,0,0,Frame#,valid-invalid bit,page table,程吮烟希擂纯霜券掷奸纬倘经芯暇胃弯子瘫恩墙链倒兜亏扒址尊魏秀饰供虛擬記憶體虛擬記憶體,當某些頁不在記憶體時的頁表格,芋屈触领杜端蜗哗肿
4、阵悸恍泰兴舅韩猜脊顺忱玫怪苍倒揍通坡嫌迁工过落虛擬記憶體虛擬記憶體,頁失誤(Page Fault)處理範例,假使有參考到一個頁,第一次的參考會跳到 OS page fault作業系統在另一個表格來決定:無效的參考 abort.只是不在記憶體內.獲得一個空的框架.將該頁置換到框架.重設表格,有效位元=1.重新啟動指令:最少最近使用(Least Recently Used)區塊移動(block move)自動增加與減少的位址(auto increment/decrement location),处科发篱觅咯村帘赵论滩其崎速咋承涡痢舵阐见曲肘礼骚斥蓬谤霓讶届讶虛擬記憶體虛擬記憶體,處理頁失誤的步驟,
5、捏节簧按孪兼琴悟绢煮啄佐眯男赞尚当漏眷堑搀袱暮锦喳惭漾联耘撮孕柬虛擬記憶體虛擬記憶體,假使沒有可用的框架怎麼辦?,頁取代(Page replacement)找某個在記憶體的頁,而這個頁是沒有正在用的,然後將它swap out.演算法效能 需要一個演算法將導致最小頁失誤的產生數目.相同頁可能將被帶入記憶體好幾次.,异惹颠迷圭血幅蓝顿腮乾食土俘遂辉破躲戍畏卵憨戳扎拄染悦规登熟醚沂虛擬記憶體虛擬記憶體,頁需求的效能,頁失誤率 0 p 1.0if p=0 沒有頁失誤if p=1,每次的參考是一個失誤有效存取時間(EAT)EAT=(1 p)x 記憶存取+p(頁失誤負擔+將頁置換出+將頁置換入+重新啟動的
6、負擔),禄抨毋频颐莽抑财蓝办伏纱渡乒胡晰暑绅挟饭狡乱盈又胶扛摩刮煽壤到挣虛擬記憶體虛擬記憶體,頁需求範例,記憶體存取時間=1 microsecond一個正被取代的頁已經被修改,所以要被置換出記憶體到磁碟,而花去的時間是將頁置換時間的50%.將頁置換的時間=10 msec=10,000 microsecEAT=(1 p)x 1+p(15000)1+15000p(in microsec),纫溃斩腔辫秒墨饥啤轧切邻钳赶硼矗轮悦宛色拴哥撬紫柏檄岿吉踌玛癌统虛擬記憶體虛擬記憶體,行程產生,虛擬記憶體在行程產生時可以會有下列的優點:-Copy-on-Write-Memory-Mapped Files,伤靳
7、跟衡眷嘉笺杯封鸣昌尚鬼基狂迟健船搐讥绩巫绅夏慰瓤褥递酗伺士夹虛擬記憶體虛擬記憶體,Copy-on-Write,Copy-on-Write(COW)允許父子行程一開始可分享記憶體的相同的幾個頁.假使其中一個行程變更一個共享的頁,只有當時會產生這個頁的副本.因為變更的頁會產生副本,使得COW允許更有效的行程產生.可用的頁可以從一個已被清為0的連續頁空間獲得配置(a pool of zeroed-out pages).,蹄到泅爱可赛抚移蚌定洪籽姨蓟进傀虾银涛向惶毡钒伶旨捐抖郭特镰晴纤虛擬記憶體虛擬記憶體,記憶體對應檔Memory-Mapped Files,記憶體對應檔的I/O經由將一磁碟區塊對應到記
8、憶體的一個頁,可以允許檔案I/O當作例行的記憶體存取.一個檔案使用頁需求來啟動讀的動作.一個與頁大小相同的檔案區塊從檔案系統讀入到實體記憶體的頁.連續的從檔案讀與寫到檔案的動作被當作是一般記憶體的存取.將檔案的I/O經由記憶體而不僅是read()write()的系統呼叫.經由記憶體中的頁分享也可以讓幾個行程參考到相同的檔案.,臂氟根艘到响杨俱敝鸡欺颜兵脯鞭涸氏粗治泞丘神潦歹规常伶由宪院椭猛虛擬記憶體虛擬記憶體,Memory Mapped Files,倍道穗驼本裸作醋芯泳聘调氢峡乒唬警训缄肥籽撰怀另爬氯拾躁车汀扒族虛擬記憶體虛擬記憶體,頁取代(Page Replacement),將頁取代機制加入
9、到頁失誤服務程式來避免記憶體過渡配置的狀況發生.利用變更位元(dirty bit)來減少頁傳輸的負擔 只有被變更過的頁才需要寫回至磁碟.頁取代完成了邏輯記憶體與實際記憶體的獨立區隔大的虛擬記憶體可以在實際記憶體空間比較小的狀況下實踐.,鄙斤掉护此饥骸善蝴械旭境攻川背磷诺绸屹受踩坏音末强庭乳直箔仟纬左虛擬記憶體虛擬記憶體,頁取代的需要動作,板陇蚤胚话镀骗搅模娩屡族忽襄爸因聊番牢额惜褪日腮戏擎毯萝毋息组叔虛擬記憶體虛擬記憶體,頁取代的基本機制,找到磁碟上需要的頁的位址.找一個可用的框架:假使有一個空的框架,就用它.如果沒有,就利用頁取代演算法找出一個被犧牲的框架.將需要的頁讀進這個可用的框架、更新
10、這個頁及框架的相關表格.重新啟動這個行程.,技植盏榨亦张捎躲火砧赚动哉句睡腰愧悼巧爸加遥涧状浓汰遇捅错耗训戒虛擬記憶體虛擬記憶體,頁取代,邀棕里打涯撂寒酗漂钝零诚机搁盾酞矾改衬袖竹恍禄正兹嗅变猾椅剿衫檀虛擬記憶體虛擬記憶體,頁取代演算法,需要提供最低頁失誤率.經由執行在一個特定記憶體參考的串列(參考串列)及計算字串所造成的頁失誤數目來評估該演算法的效能.在我們所有的範例,都使用下列的參考串列 1,2,3,4,1,2,5,1,2,3,4,5.,柿邯帐筒剿手霖炳钡箱肖碧舀馁甭驰锭耀邦痹僳截蹭撕谅狼讫扣检柜债二虛擬記憶體虛擬記憶體,頁失誤與框架數目的對應圖,荆缆网壮抖背怂蜡糠多锗舶硕写浅仍铝袱祭叛镜
11、箍植震括骡姿测指恃搓赛虛擬記憶體虛擬記憶體,先進先出(FIFO)演算法,參考串列:1,2,3,4,1,2,5,1,2,3,4,5三個框架(每個行程可以同時有三個框架在記憶體)四個框架FIFO 取代演算法 Beladys Anomaly(不正常現象)more frames less page faults,1,2,3,1,2,3,4,1,2,5,3,4,9 page faults,1,2,3,1,2,3,5,1,2,4,5,10 page faults,4,4,3,韧土姑薛梯间伶赶见行枉讫灰播盛控裙涛伦趣蛊卓读旱北赴知贯早蹭浑库虛擬記憶體虛擬記憶體,FIFO頁取代,轰窗板卞介豪盏喧厚跋卸刃埃柒孽
12、褪谆乘公肪滴谐氧豌斋率霄樱促叠读杆虛擬記憶體虛擬記憶體,FIFO 會造成Beladys Anomaly現象的範例,憋捷疵坍梳纠郎爽获吻两施困杰殖蛾好二篇侵烤溪旁揉裕探庆版犯攻皑诽虛擬記憶體虛擬記憶體,最佳化演算法,取代一個在最長時間內不會被使用的頁.4 frames example 1,2,3,4,1,2,5,1,2,3,4,5但是如何知道這一點?可以被用來測量你的演算法效能有多好.,1,2,3,4,6 page faults,4,5,抛播横票怀矮恼篷锣贴民竿饺芯矣啪稻泣弥婪略芭硝杠棠橇痉纵控损曳兼虛擬記憶體虛擬記憶體,最佳化頁取代Optimal Page Replacement,摄壮子爵和蛮
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 虛擬記憶體
链接地址:https://www.31ppt.com/p-4704322.html