bootem是伙伴系统初始化之前,内核给数据结构分配内存的内存分配器
typedef struct bootmem_data {
// 内存起始地址
unsigned long node_boot_start;
// 内存终止位置
unsigned long node_low_pfn;
// 存放bootmem位图的地址
void *node_bootmem_map;
// 记录上一次申请的空间的页内的偏移量,如果是0,则上一次申请的页面全部被占用了
unsigned long last_offset;
// 记录最后一次申请的空间后的一个物理页框的地址,方便下一次申请内存时使用
unsigned long last_pos;
} bootmem_data_t;