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