Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6319354
  • 博文数量: 2759
  • 博客积分: 1021
  • 博客等级: 中士
  • 技术积分: 4091
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-11 14:14
文章分类

全部博文(2759)

文章存档

2019年(1)

2017年(84)

2016年(196)

2015年(204)

2014年(636)

2013年(1176)

2012年(463)

分类: LINUX

2014-10-29 10:24:44

原文地址:linux内存管理理解 作者:liuzan_abc

        slab/kmalloc/vmalloc都是内核分配虚拟地址空间的方法,不是物理地址的方法
       get_free_page/allocate_page这些都是内核分配物理空间的,但是最终又要重新映射为虚拟地址空间vremap
       用户态的虚拟地址空间的分配是new/malloc,最终都是要到内核去分配
       高速缓存
             它保存的是虚拟地址到指令或者数据的映射关系,不是物理地址到指令和数据的映射
       TLB
              它保存的是虚拟地址到物理地址的转换的缓存,也就是MMU转换的缓存
              这其中它可能采用的是组关联,全关联等映射方法
       页表
              内核页表和进程页表,在系统有很大的内存的时候,不可能采用一级页表,否则页表占用的页的数量太多,而且不一定都使用到,所以采用了多级页表,类似段页,linux常用的是3级页表。
               
        
  
        
       
阅读(932) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~