内存管理的主要功能

什么是内存碎片

内部内存碎片:已经分配的内存里面未被使用的部分。例如:按2的幂次方分配,需要65字节内存,分配了128,就会产生63字节内部内存碎片。

外部内存碎片:未被分配且无法被使用,即,碎片太小不能满足任意进程的内存分配请求。

后果:

内存碎片会导致内存利用率下降,我们需要减少内存碎片。

内存管理方式

- 连续内存管理:为一个用户程序分配连续的内存空间,内存利用率一般不高。
- 非连续内存管理:运行一个程序使用不相邻的内存空间,更为灵活。

连续内存管理包括:块式管理、伙伴系统(Linux采用)算法等

非连续内存管理包括:段式管理、页式管理、段页式管理机制