系统调用和库函数都以C函数的形式出现,两者都为应用程序提供服务。必要时我们可以替换库函数,通常却不能替换系统调用。
两者职责不同,以存储器分配函数malloc为例,其使用sbrk系统调用分配另外一块空间给进程,而库函数malloc则在用户层次管理这一空间。
应用程序可以调用系统调用或者库函数,而很多库函数则会调用系统调用。
系统调用通常提供一种最小接口,而库函数通常提供比较复杂的功能。如不带缓冲的I/O函数和标准I/O函数的差别。
本文探讨了系统调用与库函数之间的区别,包括它们的服务对象、职责、调用方式及提供的功能复杂度等。系统调用为应用程序提供基本的操作系统服务,而库函数则在用户级别提供更高级的功能。
系统调用和库函数都以C函数的形式出现,两者都为应用程序提供服务。必要时我们可以替换库函数,通常却不能替换系统调用。
两者职责不同,以存储器分配函数malloc为例,其使用sbrk系统调用分配另外一块空间给进程,而库函数malloc则在用户层次管理这一空间。
应用程序可以调用系统调用或者库函数,而很多库函数则会调用系统调用。
系统调用通常提供一种最小接口,而库函数通常提供比较复杂的功能。如不带缓冲的I/O函数和标准I/O函数的差别。

被折叠的 条评论
为什么被折叠?