LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 789|回复: 3

请教系统调用和库函数的区别

[复制链接]
发表于 2005-3-23 12:10:46 | 显示全部楼层 |阅读模式
我在网上的一份资料上看到:
  库函数是高层的,完全运行在用户空间, 为程序员提供调用真正的在幕后 完成实际事务的系统调用的更方便的接口。系统调用在内核 态运行并且由内核自己提供。标准C库函数printf()可以被看做是一 个通用的输出语句,但它实际做的是将数据转化为符合格式的字符串并且调用系统调用 write()输出这些字符串。
 http://www.dirac.org/linux/writi ... lkmpg_chs/c465.html
请问,既然库函数要调用系统调用,而系统调用是运行在核心态,怎么说库函数完全运行在用户态?谢谢。
发表于 2005-3-23 12:24:36 | 显示全部楼层
标准c库完全运行在用户态,即使他进行进行了系统调用。
因为系统调用就是内核态和用户态的接口。
回复 支持 反对

使用道具 举报

发表于 2005-3-23 12:25:06 | 显示全部楼层
应该是说库函数实现的那一部分代码运行在用户空间。把系统调用看成库函数的底层设施,而不是库函数的一部分。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-23 12:28:42 | 显示全部楼层
谢谢回复,现在有点明白了。谢谢。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表