Linux: vdso:

318 篇文章 ¥69.90 ¥99.00
vDSO(虚拟动态共享对象)是Linux内核提供的一种优化机制,将频繁调用的系统调用以共享库的形式映射到用户空间,减少系统调用开销。本文介绍了vDSO的概念、存在的原因、相关接口以及不同架构下的实现,帮助读者理解这一提高性能的技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考

https://man7.org/linux/man-pages/man7/vdso.7.html

简介

所有的概念无一避免,都需要吃透,才能使用起来如鱼得水。
"vDSO(virtual dynamic shared object)虚拟动态库是一个小巧的共享库,内核会自动将其映射到所有的用户态进程的地址空间。就是一次加载,然后大家都可以使用。当然应用并不需要关系太多的vDSO的细节,这些调用通常是由C的库函数完成。这样应用只需调用C的标准库,就可以是由vDSO提供的功能。
那vDSO为什么会存在呢?存在这么一些内核提供的系统调用,用户侧调用的频率非常的高,这样就会导致一些性能问题的考虑,因为存在上下文的切换问题,导致额外的负担。所以就产生了这个vDSO

文档说明

接下来的文档的目标读者是C标准库的编写者,而不是普通的开发这个。不推荐应用直接调用vDSO提供的接口。

背景举例

系统调用是慢的。在x86 32位系统,可以通过触发软件中断(int $0x80)来告诉内核,系统做系统调用,但是这种操作非常的昂贵:因为这一动作,会经过中断处理的整条路,有架构的微代码,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mzhan017

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值