系统调用就是给应用程序提供的服务,即一组给应用程序提供的函数
应用程序可以通过系统调用向操作系统请求得到资源的服务,而操作系统会提供服务,并协调这些请求
按照功能划分,系统调用可以进行设备管理、文件管理、进程控制、进程通信、内存管理
库函数底层封装了系统调用,可以直接使用库函数
系统调用本身也被划分为内核程序的一部分,所以系统调用的内部即使没使用内核功能,但系统调用必须在核心态下运行
库函数一定在核心态下运行吗?
系统调用就是将必须数据压入寄存器和栈后执行陷入指令进行的操作,通过系统调用号执行相应的过程
1.陷入指令在用户态下执行,之后会引发一个内中断,由系统调用号关联相关过程
2.发出系统调用的请求在用户态
3.所以核心态不能执行陷入指令