操作系统概述——中断和异常
早期程序只能串行执行,系统资源利用率低
操作系统(作为计算机的管理者),引入中断机制,实现了多道程序并发执行。本质:发生中断就意味着需要操作系统介入,开展管理工作
CPU收到计时部件发出的中断信号,切换为核心态对中断进行处理
操作系统内核负责对中断信号进行处理
中断的概念和作用:
1.当中断发生时,CPU立即进入核心态
2.当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理
3.对于不同的中断信号,会进行不同的处理
发生了中断,就意味着需要操作系统介入,开展管理工作。由于操作系统的管理工作(比如进程切换、分配IO设备等)需要使用特权指令,因此CPU要从用户态转为核心态。中断可以使CPU从用户态切换为核心态,使操作系统获得计算机的控制权。有了中断,才能实现多道程序并发执行。
“用户态→核心态”是通过中断实现的。并且中断是唯一途径。
“核心态→户态"的切换是通过执行一个特权指令,将程序状态字(PSW)的标志位设置为“用户态”
指令中断:系统调用;访管指令
硬件故障:缺页
软件故障:整数除0
外设请求:IO完成操作后的中断信号
人工干预:用户强制终止进程
外中断处理过程:
1.执行完每个指令之后,CPU都要检查当前是否有外部中断信号
2.如果检测到外部中断信号,则需要保护被中断进程的CPU环境(如程序状态字psw、程序PC、各种通用寄存器)
3.根据中断信号类型转入相应的中断处理程序
4.恢复原进程的CPU环境并退出中断,返回原进程继续往下执行
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!