库函数是由高级语言提供的与系统调用对应的函数,一个库函数可能包括一个或多个系统调用,调用库函数就是调用函数库中已封装好的程序,具有很强的移植性。
系统调用是操作系统提供的接口,用户通过接口向操作系统请求服务,依赖于内核不具备移植性,但避免了用户直接对底层硬件操作,隐藏了操作系统管理硬件的具体技术,将系统功能以管道的形式呈现。
系统调用,需要通过中断进行上下文的切换以及用户态向内核态的转换,库函数不使用或尽可能减少系统调用性能更好,原因在于这些库函数使用了缓冲区开销更小。