Linux Bootmem机制.docxVIP

  • 26
  • 0
  • 约 15页
  • 2017-01-29 发布于重庆
  • 举报
Linux Bootmem机制

10.?Bootmem机制10.1.?简介Bootmem机制是内核在启动时对内存的一种简单的页面管理方式。 它为建立页表管理代码中的数据结构提供动态分配内存的支持,为了对页面管理机制作准备,Linux使用了一种叫bootmem分配器(bootmem allocator)的机制,这种机制仅仅用在系统引导时,它为整个物理内存建立起一个页面位图。这个位图建立在内核代码映象终点_end上方的地方。这 个位图用来管理低区(可被直接一一映射的物理内存区,小于896Mb)。因为在0到896Mb的范围内,有些页面可能保留给内核代码,页目录,以及当前的 位图使用,有些页面可能有空洞,因此,建立这个位图的目的就是要用一个比特位的两种状态标记物理页面的状态:已被保留;可被动态分配。Bootmem机制 的核心是对Bitmap的操作,相关代码位于mm/bootmem.c和include/linux/bootmem.h中。 图?53.?ARM上的Linux地址空间分布在介绍Bootmem机制之前需要对内核的地址空间分布做一个深入的了解: 32位操作系统只有4G的虚拟地址空间,通常Linux将最上的1G用于内核虚拟地址。ARM上将用户空间的3G最高处的16M用来给内核的模块使用。Linux将物理内存完全一一映射到内核空间,这样很方便管理内存,任何页面的虚拟地址减去一个PAGE_OFFSET(0xc0000000

文档评论(0)

1亿VIP精品文档

相关文档