中断处理与进程调度的区别

中断处理与进程调度的区别

对于中断处理和进程调度的抢占方式(处理机调度),因为二者都有打断的性质,都是抢占了CPU,所以容易混淆。
首先,中断处理是外设打断进程,比如一个进程在使用cpu,它的某条指令到达了中断周期,那么,这个进程被中断。(注意:是被外设中断而不是被一个进程打断。就算中断嵌套嵌套的也是其他中断而不是进程。中断服务程序的执行并不视为进程执行)
进程调度抢占方式则是CPU中一个进程打断另一个执行中的进程。(如处于改进程某条指令的取值、执行或者非中断处理的任何时候)
所以可以这么认为——中断处理是进程A执行过程中发生的,且一旦发生无法切换为另一个进程B。

为什么中断处理时无法进行处理机调度(进程切换)?
因为中断恢复所需要的所有数据都放在被中断进程的内核栈中,如果发生切换就找不到之前的被中断进程了,使得中断无法恢复。
注:中断处理保存PC(隐指令保存断点)和PSW、通用寄存器内容(保护现场)都是为了恢复被中断进程。进程切换保存PC、PSW是为了下次再轮到被切换进程执行时该从哪开始。从这点看,他们的任务是一致的。(都是保存在被中断\切换进程的PCB中)

关于进程切换必须用到中断的问题

进程切换必定使用中断,这似乎与上文所述发生了矛盾,但实际上——上文所有中断说的都是外中断,而不是内中断。
进程切换不可发生在外中断过程,但必定发生在内中断过程
因为进程切换必定发生在内核态(管态),而“中断”,严格地说——“内中断”是目态进入管态的必要不充分条件,所以可见进程切换必定借助内中断且必定发生了处理机模式切换。(更确切的说这个内中断是软中断(指令产生的),是自愿的,往往这个软中断就是访管指令)

  • 17
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值