操作系统中中断和轮询的区别
操作系统充当硬件和应用程序之间的桥梁。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 很少找到一个准备就绪的设备时,轮询会变得效率低下。 |
结论
您应该注意的最重要的区别是,中断被视为硬件机制,而轮询是一种协议,其中处理器不断检查设备的状态。
广告