Deadlock Prevention: In deadlock prevention, the hold and wait condition can be prevented by requiring that a process request all of its required resources at one time, and blocking the process until all requests can be granted simultaneously. This approach is inefficient in three ways:
1) A process may be held up for a long time waiting for all of its resource requests to be filled, when in fact it could have proceeded with only some of the resources.
2) Second, resources allocated to a process may remain unused for a considerable period, during which time they are denied to other processes.
3)Also a process may not know in advance, all the resources it will require.