Repository navigation
no preemption
At the start, all resources are unallocated and available for allocation.
When a process requests a resource, the system checks if the requested resources are available. If the requested resources are available, they are allocated to the process, and the system updates the allocation status.
Once a process holds resources, they cannot be forcefully taken away. This prevents the process from entering a state where it's holding resources and waiting for more.
When a process finishes using the allocated resources, it releases them voluntarily. The released resources are added back to the available pool.
The released resources can now be allocated to other processes that need them. This allocation ensures that resources are utilized efficiently while adhering to the no preemption rule.
By eliminating preemption, the system guarantees that a process cannot be left in a state where it holds some resources and is waiting indefinitely for others. This condition ensures that the circular wait condition of the deadlock is avoided.
The process repeats as new resource requests and releases occur.