<Ol> <Li> Mutual exclusion: At least one resource must be held in a non-shareable mode . Otherwise, the processes would not be prevented from using the resource when necessary . Only one process can use the resource at any given instant of time . </Li> <Li> Hold and wait or resource holding: a process is currently holding at least one resource and requesting additional resources which are being held by other processes . </Li> <Li> No preemption: a resource can be released only voluntarily by the process holding it . </Li> <Li> Circular wait: each process must be waiting for a resource which is being held by another process, which in turn is waiting for the first process to release the resource . In general, there is a set of waiting processes, P = (P, P,..., P), such that P is waiting for a resource held by P, P is waiting for a resource held by P and so on until P is waiting for a resource held by P . </Li> </Ol> <Li> Mutual exclusion: At least one resource must be held in a non-shareable mode . Otherwise, the processes would not be prevented from using the resource when necessary . Only one process can use the resource at any given instant of time . </Li> <Li> Hold and wait or resource holding: a process is currently holding at least one resource and requesting additional resources which are being held by other processes . </Li> <Li> No preemption: a resource can be released only voluntarily by the process holding it . </Li>

When is a transaction said to be deadlocked explain the deadlock prevention methods with an example