linux内存管理理解
时间:09-12
来源:互联网
点击:
slab/kmalloc/vmalloc都是内核分配虚拟地址空间的方法,不是物理地址的方法
get_free_page/allocate_page这些都是内核分配物理空间的,但是最终又要重新映射为虚拟地址空间vremap
用户态的虚拟地址空间的分配是new/malloc,最终都是要到内核去分配
高速缓存
它保存的是虚拟地址到指令或者数据的映射关系,不是物理地址到指令和数据的映射
TLB
它保存的是虚拟地址到物理地址的转换的缓存,也就是MMU转换的缓存
这其中它可能采用的是组关联,全关联等映射方法
页表
内核页表和进程页表,在系统有很大的内存的时候,不可能采用一级页表,否则页表占用的页的数量太多,而且不一定都使用到,所以采用了多级页表,类似段页,linux常用的是3级页表。
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)