OS-Major area of Deadlock research

Deadlock has been one of the more productive research area in computer science and operating systems the four area of interest in deadlock research. These are deadlock prevention deadlock avoidance, deadlock detection and deadlock recovery.

In deadlock prevention our concern is to condition a system to remove any possibility of deadlocks occurring. In deadlock avoidance the goal of detection is to determine if a deadlock can be avoided and an attempt to get better resource utilization. The goal of detection is to determine if a deadlock has occurred, and to determine deadlock recovery methods are used to clear dead lock from a system so that it my personal to operate free of the deadlock, and so that the deadlocked processes may complete their execution and free their resources.

Deadlock prevention:

Havender concluded that if any of the four necessary conditions is denied, a deadlock cannot occur.
  •  Each process must request all its required resources at once and cannot proceed until all have been granted.
  •  If a process holding certain resources is denied a further request, that process must release its original resources and, if necessary, request them again together with the additional resources.
  •  Impose a linear ordering of resource types on all processes, ie., if a process has been allocated resources of a given type, it may subsequently request only those resources of types later in the ordering.
Denying the “wait for” condition:

Havenders first strategy requires that all of the resources a process will need must be requested at once. If the set of resources needed by a process is available, then the system may grant all of those resources to the process at one time and the process will be allowed to proceed. If the complete set of resources needed by a process must wait until the complete set is available. While the process waits, however it may not hold any resources. Thus the “wait for” condition is denied and deadlocks simply cannot occur.

DENYING THE ‘NO-PREEMPTION’ CONDITION:

Havenders second strategy requires that when a process holding resources is denied a request for additional resources, that process must release its held resources and, if necessary, request them again together with the additional resources. Implementation of this strategy effectively denies the “no preemption” condition. Resources can be removed from the processes holding them prior to the completion of those processes.

When a process releases resources the process may lose all its work to that point. One serious consequences of this strategy is the possibility of indefinite postponement.

DENYING THE “CIRCULAR WAIT” CONDITION:

Havenders third strategy denies the possibility of a circular wait. Because all resources are uniquely numbered, and because processes must request resources in linear ascending order, a circular wait cannot develop.
  •  Resources must be requested in ascending order by resource number. Resource numbers are assigned for the installation and must be “lived with” for long periods. If new resources types are added at an installation existing programs and systems may have to be rewritten.
  •  Clearly, when the resources numbers are assigned, they should reflect the normal ordering in which most jobs actually use resources. For jobs matching this ordering efficient operation may be expected. One of the most important goals in today’s operating systems is to create user-friendly environments.
Share this article :
 
Copyright © 2012. Best Online Tutorials | Source codes | Programming Languages - All Rights Reserved