linux库函数调用和系统调用问题

freeC 2015-08-09 11:08:02
我在网上看到这个东西的解释,里面有一点是这样的,库函数调用其实最终还是调用系统调用,然而又有一点说,系统调用开销比较大,需要在用户控件和内核空间进行切换,比库函数调用开销大很多。
我就纳闷了,库函数调用底层还是用的系统调用,咋系统就比库函数调用开销大呢,不是自相矛盾吗?
求大神释疑
...全文
108 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Darryfei 2015-08-09
系统调用要从用户态转为核心态运行,需要中断处理,程序堆栈都需要切换,开销比较大。库函数调用相当于子程序调用不需要切换状态。我觉得那里想说的意思应该是系统调用和库函数调用时间的比较,它只是比较库函数调用的时间,不包括库函数实现的时间(库函数实现最终需要用到系统调用完成)。
回复
大熊猫侯佩 2015-08-09
不是所有的库函数都会调用系统函数,和系统调用比较起来这些函数属于“轻”函数,比如strlen。
回复
相关推荐
发帖
Linux_Kernel
创建于2007-08-27

4153

社区成员

Linux/Unix社区 内核源代码研究区
申请成为版主
帖子事件
创建了帖子
2015-08-09 11:08
社区公告
暂无公告