天衣有缝

冠盖满京华,斯人独憔悴~
posts - 35, comments - 115, trackbacks - 0, articles - 0
   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理
初始化流程参考了linux-2.4.18,并没有在内存管理上作太多的打印。这不是重点,经过严格反复测试,CMemory及其kmalloc主要接口工作正常。
转载请保留原创:http://www.cppbog.com/jinglexy
Mail & MSN:jinglexy at yahoo dot com dot cn









cache_cache是一个全局对象,管理第二级缓冲区,即每个kmem_cache_t表示一种类型(特定大小)的缓冲区。对于on-slab,如mm_struct对应的缓冲区,slab_t管理其列表及对象指针。







对于off-slab对应的缓冲区,其(slab_tbufctl)对象由slabp_cache指向的slab_t分配,当从中获取到一个对象后,再alloc_pages分配连续的页框,就是左边黄色页框。关联对象1和黄色页框,对象1就是包含slab_tbufctl的缓冲。





只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理