网站大量收购独家精品文档,联系QQ:2885784924

静态分页配置演算法.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
工作集一的工作集是中使用的的集合使用者始行程式以後始有入到中一子以後大多的程式於的存取都入定的很少有生代表用到的都已在主中些就形成了的程式的行有可能在入另一段以後又始生因用到的改了工作集中重要的念什不乾脆把的中所有的一次全部都入到中呢首先而改所以除非是把所有用道都入否法全部一次都入分系中有的象重新入的一始都生很多影系的效能的工作集配置演算法的工作集配置演算法的工作集配置演算法使用但是引用次序不同的工作集配置演算法分段分法的原理基本念生意好的餐有所的翻桌率也就是在同一段餐同一桌可能可以好客人依序用

工作集(working set) 一個job的工作集(working set)是記憶體中job使用的pages的集合 當使用者開始執行程式以後,開始會有pages載入到記憶體中,經過一陣子以後,大多數的程式對於pages的存取都會進入穩定的狀態,很少有page fault發生,代表job會用到的pages都已經在主記憶體中,這些pages就形成了job的working set 程式的執行有可能在進入另一個階段以後又開始產生page faults,因為用到的working set改變了 工作集中兩個重要的觀念 為什麼不乾脆把job的working set中所有的pages一次全部都載入到記憶體中呢 ? 首先,working set會隨locality而改變,所以除非是把所有用道pages都載入,否則無法全部一次都載入。 分時系統中會有job swapping的現象,重新載入記憶體的job一開始都會產生很多page faults,影響系統的效能。 Window size為3的工作集動態配置演算法 Window size為4的工作集動態配置演算法 Window size為9的工作集動態配置演算法 使用4個page frames但是引用次序不同的工作集動態配置演算法 分段分頁法的原理 基本觀念 生意好的餐廳有所謂的翻桌率,也就是在同一段進餐時間,同一桌可能可以陸續讓好幾組客人依序用餐。所以即使餐廳只有10張桌面,可能一個中午出了 30桌的菜量 電腦的記憶體空間也有限,為了服務更多的處理元,作業系統也採用類似的概念,而且有過之而無不及,處理元執行時需要的資料放置到記憶體中,即使有的放不下,也暫時放到磁碟上,等需要用到時再想辦法移到記憶體中 隨選分頁(demand paging) 隨選分頁的方法可以讓一個程式在沒有完全載入到主記憶體中的情況下,依然能夠繼續執行 如此一來,程式占有空間的大小就比較沒有限制了 這種技術稱為虛擬記憶體(virtual memory) ,分頁本身在系統的安排下,能夠在磁碟與主記憶體中移動,讓使用者覺得執行的程式一直都位於主記憶體中 分頁與分段虛擬記憶體技術比較 虛擬記憶體技術的優點 執行程式的大小可以不受限於主記憶體空間的大小。 記憶體的使用會更有效率,因為程式會用到的部分才會占用記憶體的空間。 可以進行更廣泛的多工(multiprogramming)。 避免external fragmentation的問題,降低internal fragmentation的程度。 容許程式碼與資料的共用。 讓程式片段的動態連結(dynamic linking)更容易。 虛擬記憶體的缺點 處理器硬體成本增加 處理分頁中斷(page interrupts)的額外成本 為了避免頻繁置換(thrashing)而增加的軟體複雜性 虛擬記憶體運作的方式 虛擬記憶體的機制 虛擬記憶體可以讓沒有完全存在於主記憶體中的處理元能夠執行 換句話說,處理元的位址空間(address space)並沒有完全載入到主記憶體中 做法是把處理元的位址空間分割,如此一來,需要用到的位址空間分割(address space partition)必須載入,還用不上的就可以先存在secondary memory裡頭 虛擬記憶體擴充主記憶體空間的原理 實體記憶體的抽象化 虛擬記憶體管理員在secondary memory建立的虛擬位址空間(virtual address space)可以看成是實體記憶體的抽象化 當系統運作時,虛擬記憶體管理員會自動控制主記憶體與虛擬記憶體之間的對應,促成資料方塊在主記憶體與次記憶體間自動的移轉 在虛擬位址空間存在的情況下,對於使用者來說,其實虛擬位址空間跟實體位址空間並沒有差別,只是在程式用到虛擬位址空間的時候,作業系統要把資料搬到實體記憶體中 位址對應的過程 分段式的虛擬記憶體機制(segmentation) 分段式的虛擬記憶體和relocation register與limit register的方法近似,由程式設計者本身決定程式的分割方式,產生大小不一的分段(segment) 例如UNIX C compiler訂的text, data與stack segment 分割之後,記憶體空間的位置就可以用 : 分段號碼, 平移量(offset) 來決定 分段號碼指定記憶體的某個區塊,平移量指所在之處與分段起點之間的距離 分段本身就成為虛擬記憶體管理員在主記憶體與次記憶體之間移動資料的單位 分段式的記憶體配置方式 SMT的內容與用途 分段法的實作 分頁的記憶體配置(paged memory allocation) 分頁的記憶體配置方式將CPU所要處理的job分成大小一樣的分頁(page) 有的作業系統以記憶體區塊的大小為分頁的大小,而且

文档评论(0)

wangsux + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档