内存管理篇-20 Linux虚拟内存管理
1.虚拟地址的经典布局
这里的内容比较少。只要就是内核用户空间的划分。内核空间又有自己的划分。也需要注意一下每个区域的性能。理论上线性映射是最简单的,所以性能最高。同时,注意内核空间是可以配置的,并不是都3:1。
2.ARM32下的内存布局
经典内部布局的基本结构页很重要。user_space -> pdg->.text ... .bss ->normal_memory -> vmalloc ...
实验将各个区的size打印出来:在mem_init函数中,最后有个函数mem_init_layout_print函数的调用。打印各个段的起始和结束地址。
问题:
1.好奇这里的分区和前面的zone_dma zone_normal zone_highmem有什么区别?
2.内核镜像区(.text .init .data .bss)区域都在lowmem区间。
3.后面就需要介绍各个区域的映射情况,各个区域的映射情况是怎么样的,为什么要划分那么多的区域?