- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
执行。而addessbinding是那个时期决定
Chap6 記憶體管理
一、位址定位 (Address Binding): 程式將來要在記憶體(Memory)的那個 address
執行。而 address binding 是那個時期決定:
(1) 編譯時期: 若於編譯期間知道 process 會駐序在記憶體的什麼地方,則須產生
絕對(Absolute)位址目的碼(程式碼)。
(2) 載入時期: 若在編譯時期不知 process 會駐序在記憶體的什麼地方,則編譯程
式必須產生可重新(Relocated)定位的目的碼。而載入時才完成最後位址定位。
(3) 執行時期: 若 process 在執行期間需要從記憶體的某一段移到另一段,則定位
必須在執行時期完成。
二、配置記憶體的策略
提供一個策略來針對 process 的記憶體需求配置一個適當的空間,通常有下列四
種策略:
(1) First-Fit
• 將滿足條件的第一個空間分配給 process 。
• 從 Free-memory space-list 的頭端開始找起。
(2) Next-Fi
• 同上
• 從 Free-memory space-list 中,上次搜尋的結尾處找起。
(3) Best-Fit
• 將滿足條件的最小空隙分配給 process ,此方法必須把整個空隙串列都搜尋
一次。
(4) Worst-Fit
• 將滿足條件的最大空隙分配給 process ,此方法亦須搜尋整個串列。
(註) 根據模擬測試,First-Fit 和 Best-Fit 兩種方式在縮短時間和提高記憶體使用
率方面比較好,但通常以 First-Fit 的速度比較快。
三、外部碎片(External Fragmentation)與內部碎片(Internal Fragmentation)
(1) 外部碎片(External Fragmentation): 隨著 process 在記憶體上不斷地載入和移
出,成塊(Block)的記憶體會被分成許多碎片;這樣一來,雖然這些的空間累
加起來還是能夠滿足一個 process 的需要,但由於它們不連續,所以還是不
能滿足 process 的要求。
(2) 內部碎片(Internal Fragmentation): 考慮一大小 18464 bits 空間,假設一個
process 申請 18462 bits 空間,若分配剛好須要的空間,則會留下 2 bits 空隙,
記錄此所花費的成本比空隙本身大的多;通常做法是將此小空隙一同分配給
此 process ,這樣分配出去的記憶體會比所申請的稍大一些。
四、如何解決外部碎片問題
[方法一] 、壓縮法(Compaction)
其目的是移動記憶體,把所有碎片移動到在一起,形成一個大的儲存區段。
此方法困難點在於選擇壓縮的最佳方式很難決定。
[方法二] 、準備多套基底暫存器(Multiple Base-Limit Registers)
動機: 把 Program 拆成小塊易載入記憶體中,降低外部碎片的機率。
[方法三] 、分頁法 (于下個單元詳述)
五、分頁記憶體管理技術(Paging)
• 特色: 1. 可以解決外部碎片的問題。
2. 使得 process 可以以不連續方式配置記憶體。
• 觀念: 實際記憶體被分成許多固定大小的區塊,這些區塊稱為頁框
(Frames) ;邏輯記憶體也被分成許多同樣大小的區塊,這些區塊稱為
頁面(Pages) 。而page 大小與 frame 大小是相等的。
• 技術: 支持分頁的硬體如圖所示,CPU 產生的任何位址被分成兩個部份,頁
編號(page number)和頁偏移量(page offset) ,頁編號用來當作分頁表分
(page table) 的索引,分頁表裡含有每頁在實際記憶體裡的位址。
• 分頁表的硬體實作方式:
(1) 用一組特定的暫存器
優點: 速度快
缺點: 只適合分頁表較小的電腦系統
(2) 把分頁表放在主記憶體中: 使用分頁表基底暫存器(Page table base register;
PTBR)來指向分頁表。
優點: 1. 記憶體空間大於暫存器空間
2. 若發生 contex
文档评论(0)