In a multiprogramming
environment, several processes may compete for a finite number of resources.
Generally a process may utilize the resource in the following fashion –
ð
Request for a resource
ð
Use the resource
ð
Release the resource
But in an
Operating System sometimes a situation might occur when a process enters a
waiting state because a resource requested by it is being held by another process,
which in turn is waiting for another resource. The above situation is known as Deadlock.
Note - If a process is unable to change
its state indefinitely because the resources requested by it are being used by
other waiting process, then the system is said to be in a deadlock.
Question – What can be a resource?
Answer – A resource can be anything that can
only be used by a process at any instant of time.
Deadlock is a common problem in –
Multiprocessing systems,
Parallel computing, Distributed systems
Necessary conditions for Deadlock – A
deadlock situation might arise if the following conditions are held
simultaneously in the system –
- Mutual Exclusion
- Hold and Wait
- No - Preemption
- Circular Wait
No comments:
Post a Comment