随着系统持续的运行,内存不停的被分配使用、回收,再分配、再回收…,在这个过程中,内存往往会变理碎片化,不再连续。尽管通过虚拟内存可以将分散的物理页面以连续的方式对外展现(类似外观模式),但是有的时候需要分配比较大的,并且连续的物理内存。例如,当设备驱动程序需要一个很大的DMA缓存区的时候,怎么办呢?
内存管理系统通过内存整理来解决碎片化的问题。该机制统一将被占用的页面从内存的下部区域移动到上部空闲的区域,当完成一次整理之后,占用的页面在内存区域的一侧,空闲页面则连续的在另一侧,这样就有较大的的连续物理内存供分配使用了。
Linux内存管理之内存碎片
最新推荐文章于 2024-08-21 23:13:42 发布