
先确定虚段S不在内存中,然后阻塞请求进程,然后查看内存中是否有空闲区,如果有则从外存读入段S,修改断表及内存空区链,最后唤醒请求进程并返回;如果内存中没有有空闲区,则访问空区容量总和能否满足段S,如能,则空区链接形成一个合适分区,再从外存读入段S,修改断表及内存空区链,最后唤醒请求进程并返回;如果空区容量总和不满足段S,则淘汰一个或几个空段,以形成一个空区,以便从外存读入段S,然后修改断表及内存空区链,最后唤醒请求进程并返回。
之前学 *** 作系统对这个流程一直不是很清楚,看面经有的问的涉及到了这个地方在这里总结一下。
首先我们要搞清楚中断涉及的对象,中断是由硬件和软件共同完成的。硬件负责发现中断和相关保存现场的工作,软件则是具体的处理。
在介绍中断的流程前我们首先要介绍几个概念。
(1) PC 和 PSW寄存器。PC (Program Counter) 存储的是下一个要被访问的内存的地址。PSW寄存器存储的内容反映了CPU运算的状态特征并且存放某些控制标志。检测是否有中断和用户态与内核态就要靠他。
(2) 中断向量表
存储着不同的中断码和对应的中断处理程序地址。
(3) 中断发生的时机
下面来说一下中断处理的整个流程。
1 由硬件发现存在中断
2 硬件保存关键信息,包括PC和PSW
3 查中断向量表,找对应的中断处理程序。
4 转中断处理程序。
5 退出中断恢复现场。
返回是系统功能性需求,是程序执行到最后或程序中要求返回的,程序正常运行(相当于代码中continue)。中断返回是系统无法正常运行,遇到判断错误或程序强制结束后的返回(相当于代码中break)。
流程图是流经一个系统的信息流、观点流或部件流的图形代表,也就是也个程序中代码的执行过程,对程序的本身无实际影响。所以流程图的程序流程图中返回与中断返回的区别就是程序返回与中断返回的区别。
只代表个人意见,信息未必正确在仅供参考
以上就是关于画出段式管理中出现缺段中断的处理流程图全部的内容,包括:画出段式管理中出现缺段中断的处理流程图、 *** 作系统之中断处理流程、程序流程图中 返回与中断返回的区别是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)