浅析Kernel中的cache机制

浅析Kernel中的cache机制

内核中的各个子系统都有cache的身影,这篇文章尝试分析一下常用的子系统中所使用的cache机制及实现.


首先,来看一下slab cache: Android 2.X系列的kernel里默认使用的slab allocation.

slab cache的思想最初由Jeff Bonwick早Sun OS中诞生(可敬的SUN, 可悲的SUN, 总是看到一些技术最初来自于它,就跟我经常看到一些技术来自与IBM一样).它的关键理念是提供了一些经常被使用的object, 这些object只需要被初始化一次,可以被系统多次使用.这样就节省了各种初始化的时间及分配它们的时间.尤其对系统中经常需要用到的一些小的object,比如mutex. Linux内核中按大小提供了一系列的slab cache来给不同的场景使用,它们被使用一个list管理起来. 关键的kmem_cache的结构可以在源码处slab_def.h中找到.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值