<P> A livelock is similar to a deadlock, except that the states of the processes involved in the livelock constantly change with regard to one another, none progressing . </P> <P> The term was defined formally at some time during the 1970s . An early sighting in the published literature is in Babich's 1979 article on program correctness . Livelock is a special case of resource starvation; the general definition only states that a specific process is not progressing . </P> <P> Livelock is a risk with some algorithms that detect and recover from deadlock . If more than one process takes action, the deadlock detection algorithm can be repeatedly triggered . This can be avoided by ensuring that only one process (chosen arbitrarily or by priority) takes action . </P> <P> Distributed deadlocks can occur in distributed systems when distributed transactions or concurrency control is being used . Distributed deadlocks can be detected either by constructing a global wait - for graph from local wait - for graphs at a deadlock detector or by a distributed algorithm like edge chasing . </P>

What different ways to avoid deadlock in os