1.系统调用是内核提供的函数接口。特殊的函数接口
applications:应用程序
shell:提供调用函数的接口
library:库函数
kernel:操作系统的内核
举例:fopen函数,通过系统调用进入内核,内核的open函数调用驱动的open函数,驱动程序操作硬件。
2.系统调用按照逻辑划分:
进程控制:创建进程,管理进程。
进程间通信:比如进程发一个字符串给另一个进程,另一个进程可以对这个字符串进行操作。
文件系统控制:read(),write()函数。
系统控制:比如调用操作系统的某个接口函数进行关机操作。
内存管理:开辟内存空间。
网络管理:设置网卡的ip地址,设置与网络相关的东西。
socket控制:socket接口函数。
用户管理:由于是多用户的,可以添加,删除用户。
3.系统调用的返回值:负数表示出错,返回0表示成功。错误信息存放在全局变量errno中,用户可以用perror函数打印出出错信息。
4.linux中的应用程序编程接口(API)遵循POSIX标准。
POSIX标准定义了操作系统应该为应用程序提供的接口标准,是IEEE为要在各种UNIX操作系统上运行的软件而定义的一系列API标准的总称
5.系统调用I/O函数
系统调用针对文件描述符的。文件描述符fd是一个非负整数,打开现存文件或新建文件时,系统会返回一个文件描述符,文件描述符用来指定已经打开的文件。
返回值:成功返回0,失败返回-1,perror查看错误原因。