主机论坛_虚拟主机_美国主机_美国虚拟主机_云主机技术_全球主机交流聚集地—Web Hosting Talk 中文站

找回密码
立即注册
发新帖

0

收听

3

听众

427

主题
发表于 2014-11-5 03:56:07 | 查看: 978| 回复: 0
       slab/kmalloc/vmalloc都是内核分配虚拟地址空间的方法,不是物理地址的方法
       get_free_page/allocate_page这些都是内核分配物理空间的,但是最终又要重新映射为虚拟地址空间vremap
       用户态的虚拟地址空间的分配是new/malloc,最终都是要到内核去分配
       高速缓存
             它保存的是虚拟地址到指令或者数据的映射关系,不是物理地址到指令和数据的映射
       TLB
              它保存的是虚拟地址到物理地址的转换的缓存,也就是MMU转换的缓存
              这其中它可能采用的是组关联,全关联等映射方法
       页表
              内核页表和进程页表,在系统有很大的内存的时候,不可能采用一级页表,否则页表占用的页的数量太多,而且不一定都使用到,所以采用了多级页表,类似段页,linux常用的是3级页表。
               

收藏回复 显示全部楼层 道具 举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|小黑屋|WebHostingTalk中文站

GMT+8, 2024-5-15 04:01 , Processed in 0.074284 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表