【操作系统】中断和异常
1.中断机制的诞生
(1)早期的程序串行执行,资源利用率低。
(2)后续发明了操作系统,引入了中断机制,实现了多道程序并发执行。
本质上:操作系统作为计算机的管理者,发生中断意味着需要操作系统介入,开展管理工作。
2.中断的概念和作用
(1)当中断发生时,CPU立即进入核心态。
(2)当中断发生后,当前运行的进程暂停执行,并由操作系统内核对中断进行处理。
(3)对不同的中断信号,会进行不同的处理。
由于操作系统的管理工作,(如进程切换、分配I/O等)需要使用特权指令,因此CPU要从用户态转为和心态。中断可以使CPU从用户态转为核心态,使操作系统获得计算机的控制权。有了中断,才能实现多道程序并发执行。
(4)用户态和核心态之间的转换
用户态-->核心态:通过中断可以实现用户态-->核心态,并且中断是唯一途径。
核心态-->用户态:通过执行一个特权指令,将程序状态字(PSW)的标志位设置为用户态。
3.中断的分类
(1)内中断(异常、例外、陷入)
中断信号来源:CPU内部,与当前执行的指令有关。
又可分为
- 自愿中断
- 指令中断
- 强迫中断
- 硬件故障(如:缺页)
- 软件中断(如:整数除0)
(2)外中断(中断)
中断信号的来源:CPU外部,与当前执行的指令无关。
又可分为
- 外设请求:如I/O操作完成发出的中断信号。
- 人工干预:如用户清醒终止一个进程。
(3)中断的另一种分类
4.外中断的处理过程
(1)执行完每个指令后,CPU都要检查当前是否有外部中断信号。
(2)如果检测到外部中断信号,则需要保护被中断进程的CPU环境(如程序状态字PSW、程序计数器PC、各种通用寄存器),就像游戏打到一半,发生了中断,保存游戏数据。
(3)根据中断信号类型转入相应的中断处理程序
(4)恢复原进程的CPU环境并退出中断,返回原进程继续往下执行。
分类:
读书笔记 / 操作系统
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本