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


操作系统充当硬件和应用程序之间的桥梁。CPU 是系统中处理所有系统任务的部分。有时会出现需要中断当前正在运行的任务并快速采取行动的情况。因此,在操作系统中,有两种方法,即中断轮询来处理此类事件。在中断和轮询中,CPU 都暂停其正在执行的操作,并执行一项基本任务。

中断和轮询在许多方面都截然不同。在本文中,我们将讨论中断和轮询之间的一些重要区别。

什么是中断?

向 CPU 发出的需要立即采取行动的信号称为中断。因此,中断是一个过程,通过该过程通知 CPU 需要关注。中断被视为硬件机制。中断需要操作系统停止并确定下一步该做什么。

每当发生中断时,CPU 都会停止执行当前程序。然后,它进入中断处理程序或中断服务例程的控制。中断有两种类型:硬件中断软件中断

由外部设备和 I/O 设备生成并中断 CPU 的中断信号称为硬件中断。另一方面,由内部设备和软件程序产生的中断信号称为软件中断。中断减少了 CPU 的空闲时间。

什么是轮询?

CPU 不断检查设备状态以查看它是否需要 CPU 注意的过程称为轮询。它基本上是一种协议,其中 CPU 为 I/O 设备提供服务。因此,轮询是定期检查设备状态以查看下一个 I/O 操作是否到来的过程。

大多数情况下,设备不需要持续的关注,而当一个设备需要时,它必须等到轮询程序下次询问它。结果,CPU 的大部分时间都浪费在不必要的轮询上。因此,这是一种效率低下的方法。

中断和轮询的区别

下表重点介绍了操作系统中断和轮询之间所有重要的区别:

中断 轮询
中断是一个过程,通过该过程通知 CPU 需要关注。 轮询是 CPU 不断检查设备状态以查看它是否需要 CPU 注意的过程。
它被视为硬件机制。 它是一种协议。
中断处理程序为设备提供服务/与设备配合使用。 在此协议中,CPU 为设备提供服务。
中断请求线指示设备需要服务。 命令就绪位指示设备需要服务。
仅当设备需要服务时才使用 CPU。 CPU 需要等待并检查设备是否需要服务。
中断节省了 CPU 周期。 轮询浪费了许多 CPU 周期。
中断可能在任何时间点发生。 CPU 定期轮询设备。
如果设备频繁中断 CPU,它会变得效率低下。 当 CPU 很少找到一个准备就绪的设备时,轮询会变得效率低下。

结论

您应该注意的最重要的区别是,中断被视为硬件机制,而轮询是一种协议,其中处理器不断检查设备的状态。

更新于: 2022-12-01

14K+ 浏览量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告