存储管理之内存分配与回收
内存分配的过程:单一连续分配(已经过时)、固定分区分配、动态分区分配(根据实际需要,动态的分配内存)。
动态分区分配算法:
首次适应算法:分配内存时,从开始顺序查找适合内存区,若无合适内存区,则分配失败,每次从头部开始,使得头部地址空间不断被划分;
最佳适应算法:要求空闲区链表按照容量大小排序,遍历以找到最佳适合的空闲区(会留下越来越多的内部碎片)。
快速适应算法:要求有多个空闲区链表,每个空闲区链表存储一种容量的空闲区。
内存回收的过程:
回收区在空闲区下方:不需要新建空闲链表节点;只需要把空闲区1的容量增大即可;
回收区在空闲区上方:将回收区与空闲区合并;新的空闲区使用回收区的地址;
回收区在空闲区中间方:将空闲区1、空闲区2和回收区合并;新的空闲区使用空闲区1的地址;
仅仅剩余回收区:为回收区创建新的空闲节点;插入到相应的空闲区链表中去
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
添加我为好友,拉您入交流群!
请使用微信扫一扫!