存储块的原理与创建
文章目錄
- 1 存儲塊的原理與創建
- 1.1 問題概述
- 1.2 設計原理
- 1.3 設計實現
1 存儲塊的原理與創建
1.1 問題概述
malloc和free:
存在的問題:
- 頻繁地進行任意大小的內存分配可能會產生很多不連續的細小的外部碎片,導致無法再次分配。
- 代碼實現比較復雜,分配和釋放過程操作時間不確定。
我們考慮下是否真的需要分配任意大小的存儲空間嗎?
- 從程序最底層到上層應用,所有東西開發都是完全可見的。
- 針對特定場合開發,有時存儲空間分配大小的種類通常只有少量幾種。
我們可以試著提供多種不同固定大小的內存分配方式,這樣也可以很好的滿足我們的需求:
不過如上方式也有一定的缺點:
- 不論何時,各個塊類型總是獨立持有各空閑存儲塊,彼此無法共享。
- 有時會存在少量內部碎片。犧牲了一定存儲空間換來了簡單、快速、確定的分配方式。
1.2 設計原理
1.3 設計實現
存儲塊結構定義:
存儲塊初始化:
參考資料:
總結
- 上一篇: 邮箱的状态查询
- 下一篇: surface go怎么系统备份 Sur