Linux内核之slab调用原理

本文探讨Linux内核中的slab调用原理,解释slab存在的必要性,阐述slab如何解决小于一页内存分配的问题,并详细解析slab的工作流程,包括slabinfo工具的使用。同时,分析slab的不足并提及优化方案slub。
摘要由CSDN通过智能技术生成

背景介绍

大家在一开始学习内核的时候 书中一直提高slab功能
在深入了解slab功能的时候 可以先思考两个问题
1.什么是slab?
2.它存在的意义是什么?
3.slab工作原理
4.它的缺点是什么?

什么是slab

百度一下 是一个形容词,代表一种坚硬的东西,换中国思维来考虑那就是一个利器,是分配内存的尚方宝剑。
在这里插入图片描述

slab存在的意义?

linux内存既然有buddy系统分配页内存,为什么还要用slab?
buddy分配内存只能分配页的问题,但是slab分配可以解决几十个字节的分配问题
设想一下 如果 你的内存只有64M 还要跑linux,如果只用buddy分配内存, 每次声明一个init变量 都会独自占有一个page空间 内存岂不是很快就用完了。
在这里插入图片描述

slab的工作原

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值