1. 系统调用是用户主动访问内核的唯一手段。
  2. Linux中提供的系统调用比其它的操作系统要少的多……这是一个很有趣的事实。
  3. 但是实际上,应用程序员一般不会去直接使用系统提供的syscall,应用程序员倾向于使用编程语言提供的API(例如输出的时候喜欢去使用C语言的输出API,printf("HelloWorld!"),而不是直接用linux的write……),因为编程语言提供的API是与具体系统无关的,这就是POSIX(可移植操作系统接口)。不同的操作系统上,系统调用的具体实现是不一样的,但是向上提供的接口都是完全一样的,保证了在Linux下写的C程序可以运行在windows下。

Linux的系统调用都改为SYSCALL_DEFINE定义的。
图片说明
图片说明
展开后就成这个样子了……
图片说明

可以查看系统调用对应的系统调用号!

图片说明