系统调用和库函数的区别
系统调用比c库函数更底层
操作系统的上面是操作系统
不涉及系统调用的库函数 :如“去绝对值”的函数
涉及系统调用的库函数:如创建文件
为什么系统调用是必须的
要实现对共享资源的互斥访问
什么功能要用到系统调用
与共享资源有关的都需要
系统调用的过程
陷入指令触发内中断,
在内核态执行系统调用指令,可以看成某种中断处理程序
传递系统调用参数→执行陷入指令(用户态)>执行相应的内请求核程序处理系统调用(核心态)>返回 应用程序
注意别名:陷入指令=trap指令=访管指令
注意:
1.陷入指令是在用户态执行的,执行陷入指令之后立即引发一个内中断,使CPU进入核心态
2.发出系统调用请求是在用户态,而对系统调用的相应处理在核心态下进行