系统调用和库函数的区别和联系
时间:2010-11-13 来源:yejinp
系统调用和库函数
所有的操作系统都提供多种服务的入口点,由此程序向内核请求服务。各种版本的UNIX都提供经良好定义的有限数目的入口点,经过这些入口点进入内核,这些入口点被称为系统调用(system call)。系统调用是不能更改的一种UNIX特征。
简单的说,库函数是语言或应用程序的一部分,而系统调用是操作系统的一部分。
从应用角度考虑,可将系统调用视作为C函数。但从执行者的角度看,系统调用和库函数之间有重大区别。
系统调用通常提供一种最小界面,而库函数通常提供比较复杂的功能。
库函数通常可以被替换,但系统调用通常不能被替换。
应用程序可以调用系统调用或者库函数,而很多库函数则会调用系统调用,但是库函数并不是内核的入口点。
(APUE 1.11)
相关阅读 更多 +