Practical problems in clock driven scheduling falls into following three categories.
- Handling overruns:
- Jobs are scheduled based on maximum execution time, but failures might cause
- A robust system will handle this by either: 1) killing the job and starting an error recovery task; or 2) preempting the job and scheduling the remainder as an aperiodic
- Depends on usefulness of late results, dependencies between jobs,
- Mode changes:
- A cyclic scheduler needs to know all parameters of real-time jobs a
- Switching between modes of operation implies reconfiguring the scheduler and bringing in the code/data for the new jobs.
- This can take a long time: schedule the reconfiguration job as an aperiodic or sporadic task to ensure other deadlines met during mode
- Multiple processors:
Can be handled, but off-line scheduling table generation more complex.