简单地说库函数调用是编程语言或者程序的一部分,而系统调用是操作系统的一部分
库函数调用:
1、调用函数库中的程序
2、与用户程序相联系
3、在用户地址空间执行
4、运行时间属于“用户”时间
5、是过程调用,开销较小
系统调用:
系统调用通常用于底层文件访问,例如在驱动程序中对设备文件的直接访问。系统调用是操作系统相关的,因此一般没有跨操作系统的可移植性。常见接口:open, close, read, write, ioctl
1、不同操作系统的系统调用不相同,是调用系统内核的服务
2、是操作系统内核的一个进入点
3、在系统地址空间执行
4、运行时间属于“系统”时间
5、需要切换到系统内核上下文环境执行完再切换回来,开销较大