操作系统中中断和轮询之间的区别

作者: Laura McKinney
创建日期: 2 四月 2021
更新日期: 13 可能 2024
Anonim
5调度算法:时间片轮转、优先级、多级反馈队列
视频: 5调度算法:时间片轮转、优先级、多级反馈队列

内容


我们有许多连接到CPU的外部设备,例如鼠标,键盘,扫描仪,er等。这些设备也需要CPU注意。假设CPU忙于显示PDF,然后单击桌面上的窗口媒体播放器图标。尽管CPU不知道何时会发生此类事件,但它必须响应来自I / O设备的此类输入。中断和轮询是处理设备生成的事件的两种方式,这些事件可能在CPU忙于执行另一个进程时随时发生。

轮询和中断使CPU停止当前正在执行的操作并响应更重要的任务。轮询和中断在许多方面都互不相同。但是区分轮询和中断的基本要点是 轮询 CPU会定期检查I / O设备是否需要CPU服务,而在 打断,I / O设备会中断CPU并告知CPU它需要CPU服务。我在下面的比较表中讨论了中断和轮询之间的一些区别,请看一看。

  1. 比较表
  2. 定义
  3. 关键差异
  4. 结论

比较表

比较基础打断轮询
基本的设备通知CPU需要注意的CPU。CPU会不断检查设备状态是否需要CPU的注意。
机制中断是一种硬件机制。轮询是一个协议。
维修服务中断处理程序为设备提供服务。CPU为设备提供服务。
适应症中断请求行指示设备需要维修。就绪命令位指示设备需要维修。
中央处理器仅当设备需要维修时,CPU才会受到干扰,从而节省了CPU周期。CPU必须等待并检查设备是否需要维修,这会浪费大量CPU周期。
发生任何时候都可能发生中断。CPU定期轮询设备。
效率当设备不断重复中断CPU时,中断效率很低。
当CPU很少找到可用于维护的设备时,轮询将变得效率低下。
然后让铃响,然后打开门,检查谁来了。不断不断地打开门,检查是否有人来。


中断的定义

中断是 硬件机制 使CPU能够检测到设备需要引起注意。 CPU有电线 中断请求线 在执行每条指令后,CPU会对其进行检查。当CPU在中断请求线上检测到中断信号时,CPU停止其当前正在执行的任务,并通过将控制传递给I / O设备来响应中断。 中断处理程序。中断处理程序通过服务设备来解决中断。

尽管CPU不知道何时会发生中断,因为它随时可能发生,但是它必须在中断发生时对其作出响应。

当中断处理程序完成中断执行后,CPU 履历表 它已停止响应中断的任务的执行。 软件, 硬件, 用户, 程序中有些错误等也会产生中断。 CPU的中断处理性质导致 多任务,即用户可以同时执行许多不同的任务。

如果将多个中断发送到CPU,则中断处理程序将帮助管理正在等待处理的中断。随着中断处理程序的获取 已触发 通过接收中断,它 优先 等待CPU处理的中断并将它们安排在一个 队列 得到服务。

轮询的定义

正如我们在中断中所看到的那样,来自I / O设备的输入可以随时请求CPU处理。轮询是一个 协议 通知CPU设备需要注意。与中断不同,在中断中,设备告诉CPU它需要CPU处理,而在轮询中,CPU保持 I / O设备是否需要CPU处理。

中央处理器 连续地 测试连接到它的每个设备,以检测是否有任何设备需要CPU注意。每一个 设备 有个 命令就绪 指示该设备状态的位,即它是否具有要由CPU执行的某些命令。如果命令位已设置 1,那么它有一些命令要执行,否则如果该位是 0,则它没有命令。 中央处理器 有个 忙点 指示CPU是否繁忙的状态。如果忙碌位置位 1,那么它正忙于执行某些设备的命令,否则 0.


轮询算法

  • 当设备有一些命令要由CPU执行时,它会连续检查CPU的繁忙位,直到它被清除(0)。
  • 随着忙位清零,设备将在其命令寄存器中设置写位,并在数据输出寄存器中写入一个字节。
  • 现在,设备将命令就绪位设置为(1)。
  • 当CPU检查设备命令就绪位并发现它已设置为(1)时,它将其繁忙位设置为(1)。
  • 然后,CPU读取设备的命令寄存器并执行设备的命令。
  • 执行命令后,CPU清除(0)设备的命令就绪位,错误位以指示设备命令已成功执行,并进一步清除(0)其繁忙位还指示CPU可以自由执行其他设备的命令。
  1. 在中断时,设备会通知CPU它需要维修,而在轮询中,CPU会反复检查设备是否需要维修。
  2. 中断是 硬件 机制 因为CPU有电线, 中断请求线 哪个信号表明发生了中断。另一方面,轮询是一个 协议 不断检查 控制位 通知设备是否有可执行的东西。
  3. 中断处理程序 处理设备产生的中断。另一方面,在轮询中 中央处理器 在需要时为设备提供服务。
  4. 中断由 中断请求线。然而, 准备就绪 位指示设备需要维修。
  5. 在中断中,仅当任何设备中断CPU时,CPU才会受到干扰。另一方面,在轮询中,CPU通过重复检查每个设备的命令就绪位来浪费大量CPU周期。
  6. 中断可能发生在 任何时刻 而CPU会在 定期间隔.
  7. 当CPU继续轮询设备并且很少发现任何要维修的设备时,轮询将变得效率低下。另一方面,当设备不断重复中断CPU处理时,中断的效率将降低。

结论:

轮询和中断都可以有效地使用I / O设备。但是,如上所述,它们在特定条件下会变得效率低下。