为什么在操作结束时会产生中断?

时间:2014-08-18 22:15:34

标签: operating-system interrupt device-driver

我正在阅读设备控制器,我对以下几点感到困惑:

  

设备控制器通知CPU已完成其   通过引起中断来进行操作

对我而言,这似乎违背了中断的直观概念,即“停止(活动或过程)的持续进展”。中断不应该在开始时或在控制器执行期间发生,然后在控制器完成后停止吗?

例如,如果我在计算机上发送命令来打印文档,我想象有一条消息从打印机发送到PC以表示执行结束,但我当然不会想到它作为一个中断。如果I / O设备已完成执行,那么不应该为操作系统释放更多资源吗?

2 个答案:

答案 0 :(得分:2)

看,中断基本上与你的想法相反!

中断只是告知CPU此操作已完成!请帮助从物理内存中删除此过程,从而释放资源!

中断也在开始时被触发,但是,你能想象如果中断在每次进程执行时都会挂起会发生什么?由于每次都可以通过正常程序轻松避免的大量呼叫,CPU不会感到沮丧!

这是在结束时(以及在开始时)引起中断的一个有效步骤,因为同时CPU忙于执行其他任务,device controller to cause interrupt的工作变为通知CPU Hey CPU, the work has been done, please free the resources and kill the process!

这里悲伤/无效的部分在哪里???

答案 1 :(得分:0)

中断通知CPU外部设备需要引起注意。外部设备在完成操作时可能需要注意,因为可能需要CPU处理操作结果,从而释放外部设备资源,以便可以再次使用。