Fixed-priority pre-emptive scheduling: Difference between revisions

Content deleted Content added
wikify
OAbot (talk | contribs)
m Open access bot: url-access updated in citation with #oabot.
 
(23 intermediate revisions by 18 users not shown)
Line 1:
{{more citations needed|date=December 2024}}
'''Fixed priority pre-emptive scheduling''' is a [[Computer_multitasking|scheduling system]] commonly used in [[real-time system]]s. With fixed priority pre-emptive scheduling, the scheduler ensures that at any given time, the [[processor]] executes the highest priority [[task (computing)|task]] of all those tasks that are currently ready to execute.
'''Fixed-priority preemptive scheduling''' is a [[Computer multitasking|scheduling system]] commonly used in [[real-time system]]s.<ref>{{Cite journal |last=Audsley |first=Neil C. |last2=Burns |first2=Alan |last3=Davis |first3=Robert I. |last4=Tindell |first4=Ken W. |last5=Wellings |first5=Andy J. |date=1995-03-01 |title=Fixed priority pre-emptive scheduling: An historical perspective |url=https://link.springer.com/article/10.1007/BF01094342 |journal=Real-Time Systems |language=en |volume=8 |issue=2 |pages=173–198 |doi=10.1007/BF01094342 |issn=1573-1383|url-access=subscription }}</ref> With fixed priority preemptive scheduling, the scheduler ensures that at any given time, the [[central processing unit|processor]] executes the highest priority [[task (computing)|task]] of all those tasks that are currently ready to execute.
 
The [[Preemption (computing)|pre-emptivepreemptive scheduler]] has a clock [[interrupt]] task that can provide the [[Scheduling (computing)|scheduler]] with options to [[Context switch|switch]] after the task has had a given period &mdash;to theexecute—the [[time slice]]. This schedulerscheduling 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 [[Resource starvation|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 [[Realreal-time operating system]]s (RTOS'RTOSs) have pre-emptivepreemptive schedulers. Also turning off Timetime Slicingslicing effectively gives you the non- pre-emptivepreemptive RTOS.
 
Pre-emptivePreemptive scheduling is often differentiated with [[Computer_multitaskingComputer multitasking#Cooperative_multitaskingCooperative multitasking.2Ftime-sharing|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 (RTOS)|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.<ref>{{Cite journal
<references />
| last = Bergsma
{{Operating system}}
| first = Mark
| author-link =
| publication-date = 10 June 2009
| date =
| year =
| title = Extending RTAI/Linux with Fixed-Priority Scheduling with Deferred Preemption
| periodical =
| series =
| publication-place =
| place =
| publisher = OSPERT
| volume =
| issue =
| pages =
| url = http://wiki.wikked.net/upload/wiki.wikked.net/2/20/Fpds-ospert2009-paper.pdf
| archiveurl =
| accessdate = 8 July 2009
}}
</ref>
 
[[Category:SchedulingProcessor scheduling algorithms]]
====References====
<references/>
 
{{Comp-sci-stub}}
 
{{Comp-sci-stub}}
[[Category:Scheduling algorithms]]