Monday, 4 March 2013

Scheduling


Scheduling is the activity of determining which request should handled next by a server. In operating system, all requests waiting to be serviced are kept in a list of waiting requests. Whenever scheduling is to be performed, the scheduler examines the pending requests and selects one for servicing. This request is handed over to the CPU. A request leaves the CPU when it completes, or when it is preempted by the scheduler, in which case it is put back into the list of pending requests. In either situation, the scheduler performs scheduling to select the next request to be serviced.

Levels of Scheduling


Three levels of scheduling in an operating system are long-term scheduling, mid-term scheduling and short-term scheduling.

Levels of scheduling
Levels of scheduling
Long-term or high-level scheduler determines which job shall be allowed to compete actively for the resources of the system. This type of scheduling is also called admission scheduling or Job scheduling because it determines which jobs gain admission to the system. Once admitted, job becomes a process. The primary objective of long-term scheduler is to provide a balanced mix of jobs (such as I/O bounded and CPU bounded) to the short-term scheduler.

Short-term or low-level scheduler determines which ready process will be assigned the CPU when it next becomes available and actually assigns (dispatches) the CPU to this process. The main objective of the short-term scheduler is to maximize the system performance.

Medium-term or intermediate-level scheduler determines which suspended process shall be allowed to compete for the CPU. The medium-term scheduler responds to short-term fluctuations in the system load by temporarily suspending and resuming processes to achieve smooth system operation.

Scheduling Objectives

The main objective of the scheduling is to optimize the system performance. Common performance and optimization criteria that schedulers may use in attempting to maximize the system performance include:
·        Maximize processor utilization
·        Maximize throughput
·        Minimize the response time
·        Minimize the turnaround time
·        Minimize waiting time of jobs
·        Minimize overhead
·        Balance resource use
·        Avoid indefinite postponement
·        Enforce priorities
Degrade gracefully under heavy loads.

      NEXT: Scheduling Algorithms
Previous: Process States
      Index : Operating System

No comments:

Post a Comment