计算机的体系结构
内存层次: 处理器, 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字节。