The scheduler's essential role is to decide which tasks should be run next.
A number of paradigms exist. A few of the main ones
Hard Real-Time
- Earliest Deadline First (EDF)
This is a very simple algorithm, in which the next task to be run is the one having the earliest deadline.
- Least Slack Time First (LSF) / Least Laxity First (LLF)
This variation on Earlist Deadline First (EDF) assigns priority based on the slack time of a process. Slack time is the amount of time left after a job if the job was started now.
- Rate Monotonic Scheduling (RMS)
Rate Monotonic Analysis (RMA) is a collection of quantitative methods and algorithms that allows engineers to specify, understand, analyze, and predict the timing behavior of real-time software systems, thus improving their dependability and evolvability. RMA grew out of the theory of fixed priority scheduling.
- Controller Synthesis
In complex systems, like robot plants, applications are built on top of a set of components, or devices. Each of them has particular individual constraints, and there are also logical constraints on their interactions, related to e.g., mechanical characteristics or access to shared resources. Managing these constraints may be separated from the application, and performed by an intermediate layer.
Non Real-time