Hubbry Logo
search button
Sign in
Fixed-priority pre-emptive scheduling
Fixed-priority pre-emptive scheduling
Comunity Hub
History
arrow-down
starMore
arrow-down
bob

Bob

Have a question related to this hub?

bob

Alice

Got something to say related to this hub?
Share it here.

#general is a chat channel to discuss anything related to the hub.
Hubbry Logo
search button
Sign in
Fixed-priority pre-emptive scheduling
Community hub for the Wikipedia article
logoWikipedian hub
Welcome to the community hub built on top of the Fixed-priority pre-emptive scheduling Wikipedia article. Here, you can discuss, collect, and organize anything related to Fixed-priority pre-emptive scheduling. The ...
Add your contribution
Fixed-priority pre-emptive scheduling

Fixed-priority preemptive scheduling is a scheduling system commonly used in real-time systems.[1] With fixed priority preemptive 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 preemptive scheduler has a clock interrupt task that can provide the scheduler with options to switch after the task has had a given period to execute—the time slice. This scheduling system has the advantage of making sure no task hogs the processor for any time longer than the time slice. However, this scheduling scheme is vulnerable to process or thread lockout: since priority is given to higher-priority tasks, the lower-priority tasks could wait an indefinite amount of time. One common method of arbitrating this situation is aging, which gradually increments the priority of waiting processes and threads, ensuring that they will all eventually execute. Most real-time operating systems (RTOSs) have preemptive schedulers. Also turning off time slicing effectively gives you the non-preemptive RTOS.

Preemptive 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.

  1. ^ Audsley, Neil C.; Burns, Alan; Davis, Robert I.; Tindell, Ken W.; Wellings, Andy J. (1995-03-01). "Fixed priority pre-emptive scheduling: An historical perspective". Real-Time Systems. 8 (2): 173–198. doi:10.1007/BF01094342. ISSN 1573-1383.