Fixed-priority pre-emptive scheduling
Fixed priority pre-emptive scheduling is a scheduling system commonly used in real-time systems. With fixed priority pre-emptive scheduling, the scheduler ensures that at any given time, the processor executes the highest priority task of all those tasks that are currently ready to execute.
The pre-emptive scheduler has a clock interrupt task that can provide the scheduler with options to switch after the task has had a given period --- the time slice. This scheduler system has the advantage of making sure no task hogs the processor for any time longer than the time slice. Most RTOS’s have pre-emptive schedulers. Also turning off Time Slicing effectively gives you the non- pre-emptive RTOS.
Pre-emptive scheduling is often differentiated with cooperative scheduling, in which a task can run continuously from start to end without being preempted by other tasks. To have a task switch, the task must explicitly call the scheduler. Cooperative scheduling is used in a few RTOS such as Salvo, or TinyOS. Fixed-priority scheduling with deferred preemption (FPDS) is a middle ground between fixed-priority pre-emptive scheduling and fixed-priority non-preemptive scheduling.[1]
References
- ^ Bergsma, Mark (10 June 2009). "Extending RTAI/Linux with Fixed-Priority Scheduling with Deferred Preemption" (PDF). OSPERT. Retrieved 8 July 2009.
{{cite journal}}
: Cite journal requires|journal=
(help)