操作系统(4)---中断
一、中断
中断伴随多道程序设计(并发)产生,由软件(os根据中断号将中断程序调出来执行)和硬件(响应中断)共同实现,主要作用是实现系统调用。
中断按中断源分为内中断和外中断(CPU内外):
- 内中断(也称为异常、例外、陷入)
- 自愿中断——指令中断(eg. 用户运行时主动发起中断)
- 强制中断
-
-
- 硬件故障(e.g 缺页,OS未准备好,解决方法:重新启动)
- 软件中断(e.g 除零,解决方法:杀死进程)
-
- 外中断(中断)
- 外设请求(e.g I/O设备发起中断,被动中断)
- 人工干预(e.g 人工结束进程)
二、中断处理机制
- 保护现场(各寄存器的值,存在内存中的进程控制块PCB中)
- 后继指令所在主存单元号
- 程序运行所处的状态
- 指令执行状况
- 程序执行的中间结果
总的来说,保护确保程序继续执行的有关信息
- 中断响应及服务处理
- 保留程序断点及处理及有关信息
- 自动转入相应的中断处理程序执行
中断响应实质:交换指令地址及处理机的状态信息
- 清除中断标记
- 恢复现场
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!