Pros:
- Conceptual simplicity
- Ability to consider complex dependencies, communication delays, and resource contention among jobs when constructing the static schedule, guaranteeing absence of deadlocks and unpredictable
- Entire schedule is captured in a static
- Different operating modes can be represented by different
- No concurrency control or synchronization
- If completion time jitter requirements exist, can be captured in the
- When workload is mostly periodic and the schedule is cyclic, timing constraints can be checked and enforced at each frame boundary.
- Choice of frame size can minimize context switching and communication
- Relatively easy to validate, test and
Cons:
- Inflexible
- Pre-compilation of knowledge into scheduling tables means that if anything changes materially, have to redo the table generation.
- Best suited for systems which are rarely modified once built
- Other disadvantages:
- Release times of all jobs must be
- All possible combinations of periodic tasks that can execute at the same time must be known a priori, so that the combined schedule can be pre-computed