OS-Indefinite Postponent

In any system that keeps processes waiting while it makes resource allocation and process scheduling decisions, it is possible to delay indefinitely the scheduling of a process while other processes receive the system’s attention. This situation, called as indefinite postponement or indefinite blocking or starvation.

Indefinite postponement may occur because of resource scheduling policies. When resources are scheduled on a priority basis, it is possible for a given process to wait for a resource indefinitely as processes with higher priorities continue arriving. In some systems, indefinite postponement is prevented by allowing a process’s priority to increase as it waits for a resource. This is called aging.

RESOURCE CONCEPTS:

An operating system is primarily a resource manager. It is responsible for the allocation of a vast array of resources of various types. We consider resources that are preemptible such as CPU and main memory; a user program currently occupying a particular range of locations in main memory may be removed or preempted by another program. The CPU must be rapidly switched among a large number of processes competing for system service to keep all those processes progressing at a reasonable pace.

Certain resources are non preemptible and cannot be removed from the processes to which they are assigned. For eg., tape drives are normally assigned to a particular process for periods of several minutes or hours .

While a tape drive belongs to one process and given to another. Code that cannot be changed in use in use is said to be reentrant. Code that may be changed but is reinitialized each time it is used is said to be serially revisable.

FOUR NECESSARY CONDITON FOR DEADLOCK :

Coffman, Elphick and Shoshani stated the following 4 necessary conditions that must be in effect for a deadlock to exit.
  1.  Processes claim excusive control of the resources they require (natural exclusion condition)
  2.  Processes hold resources already allocated to them while waiting for additional resource (wait for condition)
  3.  Resources cannot be removed the process holding them until the resource are used completion (no preemption condition).
  4.  A circular chain of processes exits in which each process hols are more resources that are requested by the next process in the chain (circular wait condition).
Share this article :
 
Copyright © 2012. Best Online Tutorials | Source codes | Programming Languages - All Rights Reserved