In real-time computing, the correctness of the system depends not only on the logical result of the computation but also on the time at which the results are produced. In real-time system, real-time tasks must be started and completed by their deadline. Generally, in round-robin preemptive scheduler, the scheduling time will be unacceptable for real-time applications.
In a priority nonpreemptive scheduling mechanism, a real-time task is given a higher priority.
A real-time task is scheduled as soon as the current process blocks or terminated. If a slow, low-priority task is executing, that lead to a large delay which is not acceptable for the real-time system.
A better performance can be achieved for systems that combine priorities with clock-based interrupts. When a preemption point occurs, the currently running task is preempted if a higher-priority task is waiting. This preemptive approach may not be adequate to some real-time systems.
The best suited approach to the real-time systems is called the immediate preemption approach. In this case, the operating system responds to an interrupt almost immediately.
Real-time scheduling algorithms can be classified as:
 |
Static table-driven approaches. |
 |
Static priority-driven preemptive approaches. |
 |
Dynamic planning-based approaches. |