时钟驱动调度是一种调度算法,其中调度点由时钟中断确定。时钟驱动的调度有两种类型:
1.表驱动的调度:
在表驱动的调度中,所有任务的开始时间都经过预先计算,并在系统配置时存储在表中。存储所有任务的计划时间的表称为计划表。
2.循环调度:
在循环调度中,预先计算的调度一次又一次地重复。任务集中的每个任务在每个周期中重复相同。
表驱动和循环调度之间的区别:
TABLE-DRIVEN SCHEDULING | CYCLIC SCHEDULING |
---|---|
Start time of tasks is precomputed and thus tasks are scheduled. | Precomputed schedule is repeated again and again. |
Each task is scheduled only once. | Each task is scheduled repeatedly. |
Table-driven scheduling is less used in large applications. | Cyclic scheduling is quite often used in large applications. |
It is not quite efficient. | It is efficient than table-driven. |
It sets timer whenever a task is scheduled. | it sets timer only when system initiates scheduling. |
It is not often used in embedded systems. | it is often used in embedded systems. |
In case of selection of timing frame it is more proficient. | It is possible to select a large size of timing frame. |