記憶體管理(1) 動態分割槽分配策略

2021-08-10 05:59:25 字數 601 閱讀 9134

1、最先匹配:分配n個位元組,使用第乙個可用空間比n大的空閒區

原理:空閒分割槽列表按照位址順序排序; 分配過程中,搜尋第乙個適合的分割槽; 釋放分割槽時,檢查是否可與臨近的空閒分割槽合併,

優點:簡單; 在高位址空間有大塊的空閒分割槽

缺點:外部碎片;分配大塊使較慢

2、 最佳匹配

:分配n個位元組時,查詢並使用不小於n的最小空閒分割槽

原理:空閒分割槽列表按照大小排序; 分配時,查詢乙個合適的分割槽; 釋放時,查詢並且合併臨近的空閒分割槽;

優點:避免大的空閒分割槽被拆分;可減小外部碎片的大小;

缺點:外部碎片; 釋放分割槽較慢; 容易產生很多無用的小碎片

3、最差匹配;分配n個位元組時,查詢並使用不小於n的最大空閒分割槽

原理:空閒分割槽列表按照從大到小排序; 分配時,選最大的分割槽; 釋放時,檢查是否可與臨近的空閒分割槽合併,進行可能的合併,並調

整空閒分割槽列表順序;

優點:中等大小的分配較多時,分配效果最好; 避免出現太多的小碎片;

缺點:釋放分割槽較慢; 外部碎片; 容易破壞大的空閒分割槽,因此後續難以分到大的分割槽

記憶體管理 分割槽分配

拼接技術 將空閒分割槽集中 基礎功能 分配和 記憶體 位址變換 擴充記憶體容量 記憶體保護 位址變換 指把程式中的邏輯位址轉換為實體地址,儲存保護 保護作業在自己的儲存空間並行互不受干擾 擴充記憶體的方法 交換技術 把不需要的程式和資料放到外存,把需要的從外存拿進記憶體 覆蓋技術 連續分配的管理方式...

記憶體動態分割槽分配 動態記憶體分配介紹

c語言的記憶體分配方式 堆和棧 基於快取的儲存器層次結構 當c程式在執行過程中需要額外虛擬記憶體時,可以使用動態記憶體分配器 dynamic memory allocator 動態記憶體分配器維護著乙個程序的虛擬記憶體區域,成為堆 heap 假設堆是乙個請求二進位制零的區域,它緊接在未初始化的資料區...

動態分割槽分配

一 實驗目的 1.通過這次實驗,加深對動態分割槽分配的理解,進一步掌握首次適應演算法和最佳適應演算法的理解。了 解動態分割槽分配方式中使用的資料結構和分配演算法,進一步加深對動態分割槽儲存管理方式及其實現 過程的理解。提高學生設計實驗 發現問題 分析問題和解決問題的能力。2.學會可變式分割槽管理的原...