库函数与系统调用的联系与区别
程序员文章站
2022-06-08 19:18:49
...
**
一. 概念
**
系统调用,指运行在用户空间的应用程序向操作系统内核请求某些服务的调用过程。系统调用提供了用户程序与操作系统之间的接口。一般来说,系统调用都在内核态执行。由于系统调用不考虑平台差异性,由内核直接提供,因而移植性较差(几乎无移植性)。
库函数,是由用户或组织自己开发的,具有一定功能的函数集合,一般具有较好平台移植性,通过库文件(静态库或动态库)向程序员提供功能性调用。程序员无需关心平台差异,由库来屏蔽平台差异性。
**
二.区别
**
一般而言,跟内核功能与操作系统特性紧密相关的服务,由系统调用提供;具有共通特性的功能一般需要较好的平台移植性,故而由库函数提供。
三.联系
库函数与系统调用在功能上相互补充,如进程间通信资源的管理,进程控制等功能与平台特性和内核息息相关,必须由系统调用来实现。
文件 I/O操作等各平台都具有的共通功能一般采用库函数,也便于跨平台移植。某些情况下,库函数与系统调用也有交集,
上一篇: JS监听组合按键