Linux内存系列汇总
文章平均质量分 73
qixuan.wu
这个作者很懒,什么都没留下…
展开
-
Linux内核追踪[4.14] X86的5级页表管理
X86的4级页表已经能够管理48bit(256TB)的VA,以及64TB的PA。不过由于某些供应商发布了超过64T的超大物理内存,因此需要实现了一个5级页表特性来进行支持。下面是原来4级页表的48bitVA地址空间,原先的X64芯片规定,高8位永远与第48bit(从0开始算即47bit)相同。因此从硬件上只使用4级页表。原创 2017-11-15 21:52:17 · 2827 阅读 · 0 评论 -
【内存】高端内存映射
高端内存含义为:线性地址空间 PAGE_OFFSET + 896M至4G的最后128M线性地址 896M以上的物理页框,非直接映射。有3种方法:非连续内存区映射,永久内核映射,临时内核映射(固定映射) 从 PAGE_OFFSET开始的线性地址区域为: PAGE_OFFSET(3G)|物理内存映射 --8M-- vmallot区 --4K-- vmallot区 --8K-原创 2017-10-26 23:21:26 · 338 阅读 · 0 评论 -
内核的几种内存分配与线性映射方式
1. 内核中获取内存的几种方式 a) 通过伙伴算法分配大片物理内存(分配 【物理页框】) alloc_pages(gfp_mask, order): 获得连续的页框,返回页描述符地址,是其他类型内存分配的基础。 __get_free_pages(gfp_mask, order): 获得连续的页框,返回页框对应的线性地址。线性地址与物理地址是内核直接映射方式。不能用原创 2017-10-26 23:21:20 · 1206 阅读 · 0 评论