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