时钟驱动和事件驱动调度的区别
操作系统可以使用各种调度算法来调度实时任务。这些调度算法根据调度点的确定进行分类。
1. 时钟驱动调度:
调度点由从时钟接收到的中断决定的调度称为时钟驱动调度。时钟驱动的调度处理下一个要处理的任务取决于时钟中断点。
2. 事件驱动调度:
调度点由不包括时钟中断的事件发生确定的调度称为事件驱动调度。事件驱动调度处理下一个要处理的任务与时钟中断点无关。
时钟驱动和事件驱动调度的区别:
时钟驱动调度 | 事件驱动调度 |
---|---|
任务是根据时钟接收到的中断来调度的。 | 任务是根据不包括时钟中断的事件发生来调度的。 |
调度点由时钟中断决定。 | 调度点由任务完成和任务到达事件决定。 |
时钟驱动的调度算法很简单。 | 事件驱动的调度算法非常复杂。 |
时钟驱动的调度不像事件驱动那样灵活。 | 事件驱动调度比时钟驱动更灵活。 |
时钟驱动调度只能处理周期性任务。 | 事件驱动调度可以安排周期性、零星和非周期性的任务。 |
时钟驱动调度称为离线调度。 | 事件驱动调度被称为在线调度。 |
时钟驱动调度广泛用于嵌入式系统。 | 事件驱动调度不太适合嵌入式系统。 |
时钟驱动调度比事件驱动更有效。 | 事件驱动调度很复杂,但更熟练。 |
时钟驱动调度用于小型应用程序。 | 事件驱动调度用于更大的应用程序。 |