中断和异常
中断的诞生:早期计算机各程序只能串行执行,系统资源利用率低。为了解决这个问题,人们发明了操作系统(作为计算机的管理者),引入中断机制,实现了多道程序并发执行。本质上来说就是:发生中断就意味着需要操作系统介入,开展管理工作。
中断的作用:
1:当中断发生时,CPU立即进入核心态
2:当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理
3:对于不同的中断信号,会进行不同的处理。
发生了中断,就意味着需要操作系统介入,开展管理工作。由于操作系统的管理工作(比如进程切换,分配I/O设备等)需要使用特权指令,因此CPU需要从用户态转为核心态。中断可以使CPU从用户态切换为核心态,使操作系统获得计算机控制权。有了中断,才能实现多道程序并发执行。
外中断的处理过程
1:执行完每个指令后,CPU都要检查当前是否有外部中断信号。
2:如果监测到外部中断信号,则需要保护被中断进程的CPU环境。
3: 根据中断信号类型转入相应的中断处理程序。
4: 恢复原进程的CPU环境并退出中断,返回愿进程继续往下执行。
系统调用
定义:是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以发出系统调用请求来获得操作系统的服务。
作用:用户进程想要使用打印机这种共享资源时,只能通过系统调用向操作系统发出请求,操作系统会对各个请求进行协调管理。