首页 > 系统服务 > 详细

linux内存管理理解

时间:2014-10-30 13:14:51      阅读:314      评论:0      收藏:0      [点我收藏+]
        slab/kmalloc/vmalloc都是内核分配虚拟地址空间的方法,不是物理地址的方法
       get_free_page/allocate_page这些都是内核分配物理空间的,但是最终又要重新映射为虚拟地址空间vremap
       用户态的虚拟地址空间的分配是new/malloc,最终都是要到内核去分配
       高速缓存
             它保存的是虚拟地址到指令或者数据的映射关系,不是物理地址到指令和数据的映射
       TLB
              它保存的是虚拟地址到物理地址的转换的缓存,也就是MMU转换的缓存
              这其中它可能采用的是组关联,全关联等映射方法
       页表
              内核页表和进程页表,在系统有很大的内存的时候,不可能采用一级页表,否则页表占用的页的数量太多,而且不一定都使用到,所以采用了多级页表,类似段页,linux常用的是3级页表。
               
        
  
        
       

linux内存管理理解

原文:http://blog.chinaunix.net/uid-25418340-id-4555714.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!