priority inheritance
<parallel> A technique for avoiding priority inversion by temporarily 
raising the prioriry of all processes that want to access a shared resource to 
the highest priority level of any of them. Priority inversion occurs where a low 
priority process, L is holding a resource required by a high priority process, 
H, but L is not running because a medium priority process, M is running. Under 
priority inheritance, L temporarily inherits H's priority, allowing L to run and 
release the resource H is waiting for.
 
For example, an ambulance (H) is stuck behind a lorry (L) waiting at a junction 
(the shared resource) for a gap in a line of cars (M) using the junction. 
Applying priority inheritance, the cars give way to the lorry as they would to 
the ambulance, thus allowing the lorry and then the ambulance to use the 
junction.
 
(2005-02-11)
 
  
 
  
Nearby terms: 
							printing discussion « print server « Print Services 
							Facility « priority inheritance » priority 
							interrupt » priority inversion » priority queue
 
priority interrupt
<jargon> Any stimulus compelling enough to yank one right out of hack 
mode. Classically used to describe being dragged away by an SO for immediate 
sex, but may also refer to more mundane interruptions such as a fire alarm going 
off in the near vicinity. Also called an NMI (non-maskable interrupt), 
especially in PC-land.
 
[Jargon File]
 
(2005-02-13)
 
  
 
  
Nearby terms: 
							print server « Print Services Facility « priority 
							inheritance « priority interrupt » priority 
							inversion » priority queue » priority scheduling
 
priority inversion
<parallel> The state of a concurrent system where a high priority task is 
waiting for a low priority task which is waiting for a medium priority task. The 
system may become unstable and crash under these circumstances.
 
In an operating system that uses multiple tasks, each task (or context) may be 
given a priority. These priorities help the scheduler decide which task to run 
next. Consider tasks, L, M, and H, with priorities Low, Medium, and High. M is 
running and H is blocked waiting for some resource that is held by L. So long as 
any task with a priority higher than L is runable, it will prevent task L, and 
thus task H, from running.
 
Priority inversion is generally considered either as a high-level design failure 
or an implementation issue to be taken into account depending on who is talking. 
Most operating systems have methods in place to prevent or take inversion into 
account. Priority inheritance is one method.
 
The most public instance of priority inversion is the repeated 'fail-safe' 
rebooting of the Mars Pathfinder. base station ('Sagan Memorial 
Station').
 
(2003-06-04)
 
  
 
  
Nearby terms: 
							Print Services Facility « priority inheritance « 
							priority interrupt « priority inversion » 
							priority queue » priority scheduling » PRISM
 
priority queue
<programming> A data structure with three operations: insert a new item, 
return the highest priority item, and remove the highest priority item. The 
obvious way to represent priority queues is by maintaining a sorted list but 
this can make the insert operation very slow. Greater efficiency can be achieved 
by using heaps.
 
(1996-03-12)
 
  
 
  
Nearby terms: 
							priority inheritance « priority interrupt « priority 
							inversion « priority queue » priority 
							scheduling » PRISM » Prisoner of Bill
 
priority scheduling
<operating system> Processes scheduling in which the scheduler selects 
tasks to run based on their priority as opposed to, say, a simple round-robin.
 
Priorities may be static or dynamic. Static priorities are assigned at the time 
of creation, while dynamic priorities are based on the processes' behaviour 
while in the system. For example, the scheduler may favour I/O-intensive tasks 
so that expensive requests can be issued as early as possible.
 
A danger of priority scheduling is starvation, in which processes with lower 
priorities are not given the opportunity to run. In order to avoid starvation, 
in preemptive scheduling, the priority of a process is gradually reduced while 
it is running. Eventually, the priority of the running process will no longer be 
the highest, and the next process will start running. This method is called 
aging.
 
  
 
  
Nearby terms: 
							priority interrupt « priority inversion « priority 
							queue « 
							priority scheduling » PRISM » Prisoner of Bill » 
							privacy
 
							
					  |