您认为轮询对于其他设备(如磁盘或网络接口)来说是一种好方法吗



我在学习LC3,但有一些问题我不能清楚地理解

如果程序没有比等待设备更好的事情可做,轮询是与设备交互的合理方式。

在简单的系统上可能就是这种情况,有些嵌入式系统就是这样工作的。

然而,随着系统工作量的增加,轮询可能对设备和/或程序的响应不足,因此其他方法的性能更好。

中断是轮询的替代方案。中断机制支持硬件和软件中的优先级。

当I/O设备同时/同时准备就绪时,硬件将根据设备速度有效地对设备进行优先级排序。这意味着快速设备可以迅速引起CPU的注意,以响应准备好的数据。

当CPU正在为低优先级设备提供服务,而具有中断的高优先级设备准备就绪时,软件可以分层,以允许高优先级设备中断当前可能正在服务的低优先级(较慢(设备。

当许多程序争夺CPU时,中断也能很好地工作。

总之,设备越多,程序越多,轮询的性能就越差,可能会减慢系统速度,甚至丢失设备中的数据。中断如果分层得当,可以缓解这些问题。

最新更新