Fixed-priority pre-emptive scheduling: Difference between revisions

Content deleted Content added
Andyloris (talk | contribs)
Added a source
OAbot (talk | contribs)
m Open access bot: url-access updated in citation with #oabot.
 
(One intermediate revision by one other user not shown)
Line 1:
{{unreferencedmore citations needed|date=FebruaryDecember 20202024}}
'''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)|preemptive 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 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 [[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 [[real-time operating system]]s (RTOSs) have preemptive schedulers. Also turning off time slicing effectively gives you the non-preemptive RTOS.
Line 7:
<references />
{{Operating system}}
{{Comp-sci-stub}}
 
[[Category:Processor scheduling algorithms]]
 
 
{{Comp-sci-stub}}