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 |
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.
No comments:
Post a Comment