計算機的體系結構
內存層次: 處理器, cpu, L1緩存,L2緩存
MMU: 存儲管理單元
操作系統中采用的內存管理方式: 重定位, 分段,分頁(最小的單位),虛擬存儲
程序: 數據,代碼, 堆棧
地址空間和地址生成
32 為 4G-1 ??
cpu中的alu
段基址和段長度(12‘)
地址生成時機和限制
編譯時, 加載時, 運行時(虛擬內存)
連續內存分配
內存碎片:空閑內存不能利用,內碎片(要510,給512)
動態分區配制策略:最先匹配, 最佳匹配, 最差匹配
最先匹配:
優點
1 簡單
2 在高地址空間 有大塊的空閑 分區
缺點,
1 外部碎片
2 分配大塊時較慢
最佳匹配:
優點
1 大部分分配的尺寸較小時, 效果很好
可避免大的空閑分區被拆分
可減少外部碎片的大小
相對簡單
缺點
1 外部碎片
2 釋放分區較慢
3 容易產生很多無用的小碎片
最差匹配:
優點
1 中等大小的分配較多時, 效果最好
2 避免出現太多的小碎片
缺點
1 釋放分區較慢
2 外部碎片
3 容易破壞大的空閑分區, 因此后續難以分配大的分區
伙伴系統
優點:
1 碎片率很小
2 而且很容易做成非入侵式的, 不用在被管理的內存上保存cookie
只需要額外開辟一個二叉樹記錄內存使用狀態即可。
碎片整理
條件
伙伴系統對與事例中的,為什么能分配小于一頁,即512字節。