操作系统中中断与轮询的区别17 Mar 2025 | 6 分钟阅读 操作系统通常充当系统硬件和用户程序之间的桥梁。处理器是操作系统中负责处理整个系统任务的部分。有时,中断当前正在运行的任务并采取快速行动非常重要。有两种机制可以实现中断和轮询。 中断和轮询是处理设备可能随时发生的事件的两种方法,这些事件可能发生在CPU忙于运行其他活动时。轮询和中断方法允许处理器暂停正在做的事情并响应重要任务。轮询和中断在几个方面非常不同。轮询和中断之间的主要区别在于,在轮询中,CPU会定期检查I/O设备,以查看它们是否需要CPU服务。另一方面,在中斷方法中,输入/输出设备会中断处理器,并通知它需要处理器服务。 在本文中,您将了解操作系统中中断与轮询的区别。但在讨论差异之前,您必须了解操作系统中的中断和轮询。 什么是中断?中断是处理器需要立即采取行动的信号。中断可用于指示计时器结束,中断还可通知网络设备收到的数据包。当中断发生时,处理器会停止现有任务并运行连接的中断处理程序,这被称为中断服务例程 (ISR)。处理完中断后,它会返回到之前执行的任务。它有两种类型的中断:硬件中断和软件中断。 1. 硬件中断设备使用硬件中断来通知操作系统它们需要注意。例如,按下键盘上的某个键时会发生硬件中断,这会导致CPU读取该按键。中断请求 (IRQ)用于启动硬件中断。每个硬件中断都有一个中断号,该号码标识了产生中断的硬件。因此,CPU可以识别设备。硬件中断有两种类型:可屏蔽中断和不可屏蔽中断。不可屏蔽中断不能被CPU延迟,而可屏蔽中断可以被延迟。 2. 软件中断由CPU异常条件或正在运行的程序引起的中断称为软件中断。通过将整数除以零可以触发软件中断。此外,由无限循环产生的错误变量和内存泄漏也可能产生软件中断。 什么是轮询?轮询是指检查设备以确定它是否需要任何服务的过程。它也称为轮询输入/输出或软件驱动的输入/输出。在此过程中使用低级硬件组件。如果需要检查多个设备,可能会花费很多时间。 主机操作和控制器操作是构成轮询过程的两个步骤。在主机操作期间,主机完全读取忙碌位。一旦忙碌位被清除,主机就会将命令就绪位设置为1。主机在将命令写入命令寄存器之后,会将命令就绪位设置为1。 第二阶段是执行控制器操作。在此阶段,控制器注意到命令就绪位已设置为1,然后控制器将忙碌位设置为1。在读取命令寄存器并确认其中包含写入位后,控制器会读取并执行I/O操作。操作已获得批准并被证明是成功的。 轮询可用于调节测量环境中涉及的元素的信息顺序和执行。它可用于管理多任务操作系统中处理器的时钟以及其他资源。然而,轮询发生数据丢失的可能性要大得多。 操作系统中断与轮询的关键区别![]() 操作系统中的中断与轮询之间存在各种关键区别。中断与轮询之间的一些主要区别如下:
操作系统中断与轮询的逐项比较操作系统在中断与轮询之间有各种逐项比较。中断与轮询的一些比较如下:
结论轮询和中断在处理 I/O 设备方面都有效。但是,它们在特定条件下可能会变得不足。轮询涉及对连接到单个 CPU 的设备的循环读取。当外部逻辑电路不需要维修时,微处理器会继续检查下一个要检查的外部逻辑电路,如果其中一个外部逻辑电路需要维护,CPU 会切换到运行程序来对其进行服务。 当 CPU 应外部逻辑请求而被中断时,微处理器会暂停其现有程序的执行,并切换到中断的程序。由于中断结构,微处理器可以在不等待循环检查外部逻辑电路状态的情况下响应异步事件,例如外部逻辑请求。 下一个主题操作系统多任务与多线程的区别 |
我们请求您订阅我们的新闻通讯以获取最新更新。