OS-Process Scheduling

Unix follows priority scheme with a dynamic priority value. A round-robin method is used both to periodically re compute the priorities and to re-schedule processes. A system of multilevel feedback queues is used to facilitate selection of lowest priority process.

The actual priority value for user processes is an integer in the range 0 to 60, with higher values being of lower priority ie., 0 is the highest priority. By default, all user processes are assigned the same initial priority value of 20, but this can be adjusted be means of the nice command which can be used by normal users only to reduce the priority.

The current version of Unix system has introduced a new system of scheduling to enable it to be used in a real time environment. Processes are grouped into 3 classes, namely system time sharing and real time classes. The system & time sharing processes are treated in normal fair – share fashion, but the real time processes operate on a strict preemptive priority basis. If a real time process wants to run, the higher priority one succeds. An additional command prwentl(priority control) is used to manage processes within these classes.

A Unix process is viewed as consisting of three segments, called respectively the text, data & stack segments. The text segment corresponds to the code and contains the executable instructions of the process. The data segment holds the data areas used by the process the stack segment is uded for certain typed of dynamic data. Several processes can share one segment, providing either shared use of a procedure or a means of communicating using a common data area.
Share this article :
Copyright © 2012. Best Online Tutorials | Source codes | Programming Languages - All Rights Reserved