From d5c46f7358900a757add63fd73dbfd0a85d00146 Mon Sep 17 00:00:00 2001 From: Didnelpsun <2675350965@qq.com> Date: Sun, 28 Aug 2022 22:57:09 +0800 Subject: [PATCH] Update 0-summary.md --- Operate-System/0-summary.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Operate-System/0-summary.md b/Operate-System/0-summary.md index 8ccd33b..3385b03 100644 --- a/Operate-System/0-summary.md +++ b/Operate-System/0-summary.md @@ -307,16 +307,18 @@ 1. 关中断。$CPU$响应中断后,首先要保护程序的现场状态,在保护现场的过程中,$CPU$不应响应更高级中断源的中断请求。否则,若现场保存不完整,在中断服务程序结束后,也就不能正确地恢复并继续执行现行程序。 2. 保存断点。为保证中断服务程序执行完毕后能正确地返回到原来的程序,中断隐指令将原来的程序的断点(即程序计数器$PC$)保存起来。由硬件自动完成。 3. 中断服务程序寻址。其实质是取出中断服务程序的入口地址送入程序计数器$PC$。 -4. 保存现场和屏蔽字。进入中断服务程序后,首先要操作系统保存现场,现场信息一般是指程序状态字寄存器$PSWR$和某些通用寄存器的内容。 +4. 保存现场和屏蔽字。进入中断服务程序后,首先要**操作系统**保存现场,现场信息一般是指程序状态字寄存器$PSWR$和某些通用寄存器的内容,即中断屏蔽字。 5. 开中断。允许更高级中断请求得到响应。 -6. 执行中断服务程序。这是中断请求的目的。 +6. 执行中断服务程序。这是中断请求的目的。各中断向量统一存放在中断向量表中,该表由操作系统初始化,硬件找到该中断信号对应的中断向量,中断向量指明中断服务程序入口地址,然后根据其开始执行。 7. 关中断。保证在恢复现场和屏蔽字时不被中断。 8. 恢复现场和屏蔽字。将现场和屏蔽字恢复到原来的状态。 9. 开中断、中断返回。中断服务程序的最后一条指令通常是一条中断返回指令,使其返回到原程序的断点处,以便继续执行原程序。 -第一步到第三步是$CPU$进入中断周期后,由硬件自动完成(中断隐指令),第四到九条是中断服务程序完成。 +第一步到第三步是$CPU$进入中断周期后,由硬件自动完成(中断隐指令),第四到九条是中断服务程序(软件)完成。 -中断处理和子程序调用都会压栈保存数据。子程序调用只需保存程序断点,即该指令的下一条指令的地址;中断处理不仅要保存断点($PC$的内容),还要保存程序状态字寄存器($PSW$)的内容。 +终端服务程序本身可能是用户程序,但是具体进入中断进行处理的程序一定是系统程序。 + +中断处理和子程序调用都会压栈保存数据。子程序调用只需保存程序断点$PC$内容,即该指令的下一条指令的地址;中断处理不仅要保存断点($PC$的内容),还要保存程序状态字寄存器($PSW$)的内容。 ### 系统调用