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 each
P i, the resource requests that
P ican still make can be satisﬁed by the currently available resources plus the resources held by all
P j, with
j < i. In this situation, if the resources that
P ineeds are not immediately available, then
P ican wait until all
P jhave ﬁnished.
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?