操作系统提供用户程序调用的一组’特殊’的接口。就是内核提供给用户可以操作内核的一组函数接口。
用户程序可以通过这组“特别”接口来获得操作系统内核提供的服务,比如用户可以通过文件系统相关的调用请求系统打开、关闭或读写文件、可以通过时钟相关的系统调用获取系统时间或设置定时器等。用户借助系统调用操作内核。从逻辑上来说,系统调用可被看成一个内核与用户空间程序交互的接口。
将linux的运行空间分为内核空间与用户空间,他们各自运行在不同的级别中,逻辑上相互隔离。所以进程也分内核进程和用户进程,但很多情况用户进程需要获得系统服务(调用系统程序),这就需要系统提供“特殊接口” 。用户态可以通过软件中断切换到内核态
linux下对文件操作有两种方式:系统调用(system call)和库函数调用(library functions)。