我正在阅读设备控制器,我对以下几点感到困惑:
设备控制器通知CPU已完成其 通过引起中断来进行操作
对我而言,这似乎违背了中断的直观概念,即“停止(活动或过程)的持续进展”。中断不应该在开始时或在控制器执行期间发生,然后在控制器完成后停止吗?
例如,如果我在计算机上发送命令来打印文档,我想象有一条消息从打印机发送到PC以表示执行结束,但我当然不会想到它作为一个中断。如果I / O设备已完成执行,那么不应该为操作系统释放更多资源吗?
答案 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处理操作结果,从而释放外部设备资源,以便可以再次使用。