表驱动和循环调度的区别
时钟驱动调度是由时钟中断决定调度点的调度算法。时钟驱动的调度有两种类型:
1. 表驱动调度:
在表驱动调度中,所有任务的启动时间都是预先计算好的,并在系统配置时存储在一个表中。存储所有任务的调度时间的表称为调度表。
2. 循环调度:
在循环调度中,预先计算的调度一次又一次地重复。任务集中的每个任务在每个循环中都以相同的方式重复。
表驱动和循环调度的区别:
表驱动调度 | 循环调度 |
---|---|
任务的开始时间是预先计算的,因此任务是有计划的。 | 预先计算的时间表一次又一次地重复。 |
每个任务只安排一次。 | 每个任务都被重复调度。 |
表驱动调度在大型应用程序中使用较少。 | 循环调度在大型应用程序中经常使用。 |
表驱动调度不是很有效。 | 循环调度比表驱动更有效。 |
每当安排任务时,它都会设置计时器。 | 循环调度仅在系统启动调度时设置计时器。 |
表驱动调度不常用于嵌入式系统。 | 循环调度通常用于嵌入式系统。 |
在选择时序帧的情况下,它更加熟练。 | 循环调度可以选择大尺寸的时序帧。 |