记忆体分割rswiki.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* /66 * 分頁式分段 (1/2) 在分頁式分段的方式下 每個行程會依據邏輯功能切成分段,而每個分段會再被分割成分頁,所以在這種架構下外層為分段表,內層為分頁表 一個邏輯位址包含了分段編號 s、分頁碼 p 與頁偏移 d 系統會先透過 s 在分段表中找到分頁表的起始位址,再透過 p 在分頁表中找到分頁的頁框位置,最後再與 d 相加成為實體記憶體位址 平均每個分段也會有 1/2 分頁的內部斷裂 所以分頁式分段中每個行程會有較多的內部斷裂 著名的 OS/2 作業系統便是使用分頁式分段法,使用的分頁大小為 4 KB * /66 * 分頁式分段(2/2) 分段表 分段編號s 邏輯位址 頁數p 頁偏移d s 分頁表 p 主記憶體 d * /66 * 摘要(1/3) 記憶體管理的主要目的: 有效地運用與維護記憶體空間 程式以二進位可執行檔的型態儲存於磁碟中 程式在執行時透過記憶體管理單元將邏輯位址轉換成實體位址 程式位址連結的工作可在編譯、載入或執行階段完成 當行程所需的執行空間大於配置給行程的記憶體時: 利用重疊技術 置換 * /66 * 摘要(2/3) 記憶體管理的方式可分為 連續配置:採用的方式有 單一分割配置:單一使用者的系統 多重分割配置:多元程式的環境 最先、最佳、或最差符合法來分配記憶體 不當的配置方式將會加重記憶體外部斷裂與內部斷裂的問題 非連續配置 分頁法,用來解決記憶體外部斷裂的問題,需要硬體的支援 將載入的程式分割成固定大小的分頁,主記憶體也分割成固定大小的頁框,頁框與分頁大小相同 執行程式時,把程式所有的分頁載入記憶體任何可用的頁框中,不需相鄰 * /66 * 摘要(3/3) 多層次分頁 反轉分頁表 分段法 依照程式的邏輯功能將邏輯位址空間切割成許多分段 達到資料或程式碼共用的目的 分頁式分段:每個行程會依據邏輯功能切成分段,而每個分段再分割成分頁 * /66 * 聚集 解決外部斷裂的問題 將記憶體中可用的不連續空間聚集成一大塊連續空間 程式必須都可重新定位 代價高,因為要搬動許多行程的實體記憶體空間 0 P2 P3 100K 作業系統 200K 400K 700K 900K 300K 1200K P5 1000K 0 P2 P3 作業系統 200K 400K 600K 800K 400K 1200K P5 * /66 * 第八章 記憶體管理 背景介紹 連續配置 分頁 基本方法 分頁表的結構 多層分頁法 反轉分頁表 分段 摘要 * /66 * 基本方法(1/2) 程式可被不連續放置,沒有外部斷裂的問題 將載入的程式分割成固定大小的分頁 主記憶體也分割成固定大小的頁框,大小與分頁相同 執行程式時,把程式所有的分頁載入記憶體任何可用的頁框中 每個程式有一個分頁表,存有每分頁在記憶體中的起始位址。當程式的分頁被載入到主記憶體時,程式分頁表中記錄該分頁被載入至主記憶體的哪一個頁框中 頁框表:作業系統須知道主記憶體中頁框使用與否、系統中總頁框數目有多少等資訊 * /66 * 分頁法 0 1 2 0 1 程式2 2 程式1 3 程式1分頁0 主記憶體 磁碟 10 1 2 3 4 5 6 7 8 9 頁 程式 2 分頁表 6 0 1 2 9 10 程式 1 分頁表 0 1 2 3 2 5 3 7 程式1分頁2 程式2分頁1 程式1分頁1 程式1分頁3 程式2分頁3 程式2分頁2 頁框編號 頁框 * /66 * 基本方法(2/2) CPU 產生的邏輯位址分成兩部分: 分頁碼為指向分頁表的索引 頁偏移表示與該分頁起始位址的距離 在分頁表中找到此分頁在實體記憶體中對應的基底位址後,再和頁偏移組合定義出實體記憶體位址 分頁法仍有內部斷裂的問題 如果一個程式所需要的記憶體大小不能被頁框大小整除,最後一個頁框就不會全部被使用而形成內部斷裂 若使分頁大小縮小,就可節省因內部斷裂而產生記憶體空間浪費;但須更大空間儲存分頁表(分頁的數量增加) 每個程式平均會有 1/2 分頁的內部斷裂 * /66 * 分頁邏輯位址空間與 實體位址空間的轉換 頁數p 頁偏移d 邏輯位址 f 分頁表 p f 頁偏移d 實體位址 實體記憶體 * /66 * 分頁表的結構(1/6) 儲存分頁表:若儲存在主記憶體中,系統需作兩次記憶體存取,效率低 解決方法:將分頁表放在關聯式記憶體(也稱位址查閱緩衝)中 每筆資料有分頁碼,頁框編號兩欄位。關聯式記憶體以分頁碼為索引,平行地在相對的頁框中找尋 很短的時間就可找尋到,時間複雜度為 O(1) * /66 * 分頁表的結構(2/6) 實際上的做法(因關聯式記憶體昂貴):使用主記憶體建立分頁表,將關聯式記憶體當成快取記憶體,只保存分頁表的部分內容 若頁框編號在關聯式記憶體中找得到,就直

文档评论(0)

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

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

1亿VIP精品文档

相关文档