UNIX is multiprogramming system, so multiple, independent processes may be running at the same time. Each user may have several active processes at once, so on a large system, there may be hundreds or even thousands of process running. In fact on most single-user workstations, How the processes are handled?
The computer allocated in UNIX to every process, whether a system task or user task. The choice of task to be executed when the CPU becomes free is based on a formula that penalizes tasks that have used most CPU cycles in the recent past. The process priority which can be set by super user (root) is an important part of this formula. The CPU scheduling algorithm is simple but allows users some measure of control over their workstation performance. The CPU speed defines the capacity of a mainframe for a given release of the operating system. All other hardware components are usually configured so that when the system is fully loaded, the CPU which is by far the most expensive resource becomes the bottleneck. In order to give the user the impression of simultaneous execution, the CPU must be allocated alternatively among the individuals processors. This task is managed by scheduler, a special processor that maintains a list of normal processes and sees to it that the processor handles the next process at certain time intervals. There are various strategies that a scheduler can use to determine which process to handle next, one of these strategies is (round robin) selects the next respective process in the list at regular intervals and puts it at the end of the list after the allocated time if the process is not yet finished. Another strategy assigns each process a priority, whereby processes with higher priority are allocated more CPU time. UNIX employs nice levels, which allow the user to influence the internal priorities of processes. This allows the user to reduce significantly the encumbering of the system by programs running in the background....
Please join StudyMode to read the full document