视频字幕
中断和异常是操作系统中两个重要概念。就像餐厅服务员工作时会遇到突发情况一样,CPU在执行程序时也会遇到需要立即处理的事件。中断通常来自外部硬件设备,而异常则是程序执行过程中产生的错误或特殊情况。它们都会改变程序的正常执行流程。
中断是由外部事件引起的程序执行流程改变。它具有异步性、可屏蔽性和优先级等特点。中断处理包括五个步骤:首先外部设备产生中断信号,CPU检测到后保存当前程序的执行现场到内存,然后执行相应的中断处理程序,处理完成后恢复现场,最后返回原程序继续执行。
异常是程序执行过程中产生的错误或特殊情况,具有同步性特点。常见的异常包括除零异常,当程序试图除以零时会产生异常并陷入操作系统处理;系统调用异常,用户程序请求操作系统服务时从用户态切换到内核态;还有缺页异常,当访问的页面不在内存中时触发操作系统进行页面调度。
中断和异常的主要区别体现在四个方面。产生原因上,中断来自外部硬件事件,异常来自程序执行错误。发生时机上,中断是异步的可随时发生,异常是同步的在特定指令执行时发生。可预测性上,中断通常不可预测,异常部分可预测。处理方式上都需要专门的处理程序,但处理逻辑不同。
在实际计算机系统中,中断和异常随处可见。键盘输入会产生键盘中断,定时器到时会产生时钟中断,这些都是外部硬件中断。而程序运行时的除零操作会产生除零异常,访问不在内存中的页面会产生缺页异常。在408考研中,需要能够准确判断事件类型,分析处理流程,理解优先级机制。掌握这些概念对操作系统学习至关重要。