Starvation (computing)


In computer science, starvation is a problem related to multitasking systems, where a process or thread is always denied access to a shared resource. Without this resource, the task to be executed can never be completed.

Starvation is not synonymous with interlocking, although the interlocking produces starvation of the processes involved. Starvation can (but need not) end, while a deadlock can not end without an action from the outside. >

A case of starvation is perfectly illustrated by the paradox known as the dinner of the philosophers of Edsger Dijkstra when it is the case that all philosophers take the fork at a time. The use of priorities in many multi-tasking operating systems could cause high-priority processes to always be executed and not allow the execution of low-priority processes, causing starvation in them. Moreover, if a high priority process is pending the outcome of a low priority process that is never executed, then this high priority process also experiences starvation (this is referred to as prioritizing). To avoid these situations modern planners incorporate algorithms to ensure that all processes receive a minimum of CPU time to run.

wiki

Popular Posts