- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
虚拟记忆体管理-欢迎光临和春技术学院资讯管理学系毛立仁
和春技術學院資訊管理系九十三學年度第一學期系統程式教學投影片課程網頁講師:毛立仁 第六章 虛擬記憶體管理 6-1 虛擬記憶體管理策略 6-2 需求式分頁系統的效能評估 6-3 分頁的取代策略 6-4 動盪現象 6-5 畢雷帝的異常現象 6-1 虛擬記憶體管理策略 虛擬記憶體的管理策略依其存取程式、資料的時機可分成兩種類型:(此處將以分頁系統做討論) (1) 需求式分頁策略 (Demand Paging) (2) 預期式分頁策略 (Anticipatory Paging) 需求式分頁策略 需求式分頁策略是種最一般化的虛擬記憶體系統 (Virtual Memory System),此種策略可視為具有置換 (Swap) 能力的分頁系統。程式中的各頁無需整個置放於記憶體內,僅有在程式確實需要取用此頁時,才會將它從次儲存體中載入主記憶體中。 預期式分頁策略 此種策略與需求式分頁策略相類似,其不同在於作業系統會預先判斷可能會需要的頁次 (依據局限性 (Locality) 的特性判斷),而預先將該頁載入主記憶體中,藉以減少等候的時間。在記憶體空間夠大時,可以採用此法。 6-2 需求式分頁系統效能評估 需求式分頁系統的效能一般是以有效存取時間 (Effective Access Time) 為評估依據。假設 p:發生取頁失敗 (Page Fault) 的機率。 tma:至記憶體中存取資料所需花費的時間 (Memory Access Time)。 tpf:處理取頁失敗所需花費的時間 (Page Fault Time)。則 有效存取時間 = (1 - p) ? tma + p ? tpf 。 取頁失敗 (Page Fault) 若 CPU 所要使用的頁 (Page) 目前並沒有在記憶體內,則謂之取頁失敗。此現象可由頁映成表 (Page Map Table) 中的頁駐存位元 (Page Resident Bit) r = 0 得知。 當取頁失敗發生時,OS 會有如下的處理步驟: (1) CPU 會檢測所參考到的位址 (Reference Address) 是否為有效的位址。如果所參考到的位址不是有效的位址,則中止此程式的執行。 (即產生一個中斷 (Trap))。 (2) 如果所參考到的位址是有效的位址,但所需求的頁 (Page) 目前並不在記憶體內 (即頁駐存位元 r = 0),則發出取頁失敗的訊息,準備由次儲存體將所需求的頁載入記憶體中。 (3) 從記憶體中找尋一個可用的頁幅 (Free Frame),以供該頁載入時使用。 (4)將所需求的頁由次儲存體載入指定的頁幅中。 (5)在該需求頁已載入記憶體後,更改頁映成表 (Page Map Table) 內頁駐存位元的值為 r = 1,以指示此需求頁目前已經在記憶體內。 (6)重新執行在發生取頁失敗前的指令。即重新自記憶體中讀取剛才程式中所需求的頁。 6-3 分頁的取代策略 當發生一個取頁失敗時,而且在記憶體中所有的頁幅皆已被佔滿時,則此時那一頁該被移走,以便能從次儲存體中載入所需要的頁。在本章節中將介紹各種分頁取代策略 (Page Replacement Strategy) 來處理取頁失敗之情況。 ? 範例: 設有一參考字串 (Reference String) 如下: FABCADAECDADCBCABFAB且假設記憶體中僅有 3 個頁幅 (Frame)。 最佳取代原則(Optimal Replacement) 它是個理想化的取代法則,它可以預測未來,被取代的頁是要經過一段很長的時間才會再被用到的頁,此法並不切實際,且非常難實現。 先進先出取代法(First-In-First-Out,FIFO) 此方法在頁被載入時,便記錄其載入記憶體的時間,時間愈早者,愈先被取代。缺點是被取代的頁常是將馬上會被使用的。 最久未用的頁取代法(Least Recently Used,LRU) 選擇最久未再被使用到的頁為取代對象。缺點是每次使用時,便需要記錄被使用時的時間,故浪費 CPU 時間,同時很久未被使用的頁可能馬上就會被用到。例如在較大的迴路 (Loop) 中就常有這種情況發生。 最不常用的頁取代法(Least Frequetly Used,LFU) 每個頁都會有一個參考計數器 用來計錄該頁被參考的次數,該頁每被參考一次,則計數器加 1,被取代的對象為該頁的計數器值最小者。此方法的缺點是最不常用的頁可能就是剛拿進來不久的頁;因此,該頁會馬上被取代掉。 近來未用的頁取代法(Not Used Recently,NUR) 其觀念為如果最近未被使用到的頁,則它在最近的一段時間內也將比較不會被使用到,此種觀念以乎比較合理。此法必須在每一個頁上附加
文档评论(0)