库函数调用和系统调用的区别

简单地说库函数调用是编程语言或者程序的一部分,而系统调用是操作系统的一部分

库函数调用:

  1、调用函数库中的程序

  2、与用户程序相联系

  3、在用户地址空间执行

  4、运行时间属于“用户”时间

  5、是过程调用,开销较小

系统调用:

系统调用通常用于底层文件访问,例如在驱动程序中对设备文件的直接访问。系统调用是操作系统相关的,因此一般没有跨操作系统的可移植性。常见接口:open, close, read, write, ioctl

  1、不同操作系统的系统调用不相同,是调用系统内核的服务

  2、是操作系统内核的一个进入点

  3、在系统地址空间执行

  4、运行时间属于“系统”时间

  5、需要切换到系统内核上下文环境执行完再切换回来,开销较大

你可能感兴趣的:(库函数调用和系统调用的区别)