0% found this document useful (0 votes)
15 views

Process Scheduling Basics.pptx

Uploaded by

Priya V. B
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

Process Scheduling Basics.pptx

Uploaded by

Priya V. B
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Process Scheduling:

Basics & Criteria


• The objective of multiprogramming is to have some process running at all times, to
maximize CPU utilization.
• Try to use the time productively.
• Several processes are kept in memory at one time
• Every time one process has to wait, another process can take over use of the CPU.
1. CPU- I/O Burst Cycle
• The success of CPU scheduling depends on an observed
property of processes:
• Process execution consists of a cycle of CPU execution
and I/O wait. Processes alternate between these two
states.
• Process execution begins with a CPU burst. That is
followed by an I/O burst, which is followed by another
CPU burst, then another I/O burst, and so on.
• Eventually, the final CPU burst ends with a system request to
terminate execution
• The durations of CPU bursts have been measured extensively. They tend to have a
frequency curve similar to that shown in the figure.

• The curve is generally characterized as exponential or hyper-exponential, with a large


number of short CPU bursts and a small number of long CPU bursts.
• An I/O-bound program typically has many short CPU bursts.
• A CPU-bound program might have a few long CPU bursts.
• This distribution can be important in the selection of an appropriate CPU-scheduling
algorithm.
Bursts of CPU usage alternate with periods of waiting for I/O.
(a) A CPU-bound process. (b) An I/O-bound process.

• Having some CPU-bound processes and some I/O-bound processes in memory


together is a better idea than first loading and running all the CPU-bound jobs and
then when they are finished loading and running all the I/O-bound jobs (a careful mix
of processes).
2. CPU Scheduler
• Whenever the CPU becomes idle, the operating system must select one of
the processes in the ready queue to be executed.
• The selection process is carried out by the short-term scheduler, or CPU
scheduler.
• The scheduler selects a process from the processes in memory that are
ready to execute and allocates the CPU to that process
3. Preemptive Scheduling
• CPU scheduling decisions may take place when a process:
1. Switches from running to waiting state
2. Switches from running to ready state
3. Switches from waiting to ready
4. Terminates
• When scheduling takes place only under circumstances 1 and 4, the scheduling scheme
is non-preemptive or cooperative.
• Non-preemptive scheduling: once the CPU has been allocated to a process, the process
keeps the CPU until it releases the CPU either by terminating or by switching to the
waiting state.
• All other scheduling is preemptive
• Consider access to shared data
• Consider preemption while in kernel mode
• Consider interrupts occurring during crucial OS activities
4. Dispatcher
• The dispatcher is the module that gives control of the CPU to the process
selected by the short-term scheduler.
• This function involves the following:
• Switching context
• Switching to user mode
• Jumping to the proper location in the user program to restart that
program
• The dispatcher should be as fast as possible, since it is invoked during
every process switch.
• The time it takes for the dispatcher to stop one process and start another
running is known as the dispatch latency.
Scheduling Criteria
1. CPU utilization:
• keep the CPU as busy as possible.
• Conceptually, CPU utilization can range from 0 to 100 percent.
• In a real system, it should range from 40 percent (for a lightly loaded system) to 90
percent (for a heavily loaded system).
2. Throughput:
• The number of processes that are completed per time unit, called throughput.
• For long processes, this rate may be one process per hour; for short transactions, it
may be ten processes per second.
3. Turnaround time:
• How long it takes to execute a particular process
• The interval from the time of submission of a process to the time of completion is the
turnaround time.
• Turnaround time is the sum of the periods spent
• waiting to get into memory
• waiting in the ready queue
• executing on the CPU, and
• doing I/O.
4. Waiting time:
• It affects only the amount of time that a process spends waiting in the ready queue.
• Waiting time is the sum of the periods spent waiting in the ready queue
5. Response time:
• time from the submission of a request until the first response is produced.
• This measure, called response time, is the time it takes to start responding, not the
time it takes to output the response.
• Scheduling Algorithm Optimization Criteria
• Max CPU utilization
• Max throughput
• Min turnaround time
• Min waiting time
• Min response time
Questions

What is a process scheduler? State the characteristics of a good process scheduler?

OR
What is scheduling? What criteria affect the scheduler's performance?

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy