bootem是伙伴系统初始化之前,内核给数据结构分配内存的内存分配器

    1. typedef struct bootmem_data {
    2. // 内存起始地址
    3. unsigned long node_boot_start;
    4. // 内存终止位置
    5. unsigned long node_low_pfn;
    6. // 存放bootmem位图的地址
    7. void *node_bootmem_map;
    8. // 记录上一次申请的空间的页内的偏移量,如果是0,则上一次申请的页面全部被占用了
    9. unsigned long last_offset;
    10. // 记录最后一次申请的空间后的一个物理页框的地址,方便下一次申请内存时使用
    11. unsigned long last_pos;
    12. } bootmem_data_t;