内核主要管理四个部分:进程管理,设备管理,内存管理,系统调用
而其中的系统调用是让用户态和内核态对接的重要中介
(相关的用户态和内核态对接可见我前面的博客)
系统调用:应用程序通过系统调用请求操作系统的服务,系统中的各种共享资源都由操作系统统一掌管,因此在用户程序中,凡是与资源有关的操作(如存储分配、I/O操作、文件管理等)都必须通过系统调用的方式向操作系统提出服务请求,由操作系统代为完成,这样可以保证系统的稳定性和安全性,防止用户进行非法操作
系统调用和库函数的区别
应用程序(用户态)->库函数(用户态)-> 生成汇编语言(把指令放到通用寄存器中、进行一个陷入指令)->系统调用(内核态)
此处要进入内核态执行系统调用,那么由前面博客可知,要进入内核态只有一种方法:中断,此处进入的方法即内中断的陷入movl