虚拟内存--隐式空闲链表

2018-07-25  创建人:Ruo_Xiao
邮箱:xclsoftware@163.com

一、一个简单的堆块的结构

这里写图片描述

  1. 一个块由字的头部、有效载荷以及可能的额外的填充组成。
  2. 头部编码了这个块的大小(包括头部和所有的填充)以及该块的状态(已分配或者空闲的)。
  3. 上图显示的是该块强加了一个双子的对齐约束条件(一个字为2B),该块的大小就总是8的倍数,则块大小的最低3位总是0。
  4. 这里的填充有两个原因:
    (1)分配器的策略,用于对抗外部碎片。
    (2)满足对齐要求。

二、隐式空闲链表

这里写图片描述

  1. 定义:空闲块是通过头部中的大小字段隐含地连接着的。
  2. 后面的已分配但是大小为0的头部做为隐式链表的结尾标志。

(SAW:Game Over!)

猜你喜欢

转载自blog.csdn.net/itworld123/article/details/81209649