In Operating System Concepts:
7.5.1 Safe State
A state is safe if the system can allocate resources to each process (up to its maximum) in some order and still avoid a deadlock. More formally, a system is in a safe state only if there exists a safe sequence. A sequence of processes
<P 1 , P 2 , ..., P n >
is a safe sequence for the current allocation state if, for eachP i
, the resource requests thatP i
can still make can be satisfied by the currently available resources plus the resources held by allP j
, withj < i
. In this situation, if the resources thatP i
needs are not immediately available, thenP i
can wait until allP j
have finished.
A safe state is not a deadlocked state. Conversely, a deadlocked state is an unsafe state. Not all unsafe states are deadlocks, however (Figure 7.6).
Is starvation also a property of a system state, just as safe/unsafe and deadlock are?
Does a safe state not lead to a starvation state, just as a safe state does not lead to a deadlock state? (So can we use deadlock avoidance strategies to avoid starvation?)
What strategies are used for avoiding starvation?
Thanks.