3. CPU Burst and IO Burst
• Burst time is an assumption of how long a process
requires the CPU between I/O waits.
• It can not be predicted exactly, before a process starts.
• It means the amount of time a process uses the CPU for a
single time. (A process can use the CPU several times
before complete the job)
4. CPU Scheduler
• Short term scheduler is used
• Scheduler selects the processes from the ready list and
allocates the CPU to that process.
• Ready queue may be
• FIFO
• Priority queue
• Tree
• Unordered list
• Or any list
5. Scheduling Decisions
1. When a process switches from the running state to the
waiting state
2. When a process switches from the running state to the
ready state
3. When a process switches from the waiting state to the
ready state
4. When a process terminates
1 and 4 uses Non Preemptive Scheduling
2 and 3 uses Preemptive Scheduling
6. Non preemptive Scheduling
• Windows 3.1 uses 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.
• No special hardware (ex. timer)is needed for non
preemption.
7. Preemptive Scheduling
• All the OS these days uses preemptive scheduling
• The hardware and the kernel has to be redesigned for
preemptive scheduling
• Under preemption,
• A task which is running under a CPU may be going to a ready
state, if another high priority task running under a CPU
• Upon completion, then the task will resume based on the priorities
of the other tasks in the ready queue.
• System calls are generated using Processes
• Kernel important data can be affected if preemption happens in
between, so kernel has to be designed for accepting these
changes.
• The kernel will not preempt a process while the kernel data
structures are in an inconsistent state
8. Dispatcher
• The dispatcher is the module that gives control of the
CPU to the process selected by the short-term scheduler.
• Switching context
• Switching to user mode
• Jumping to the proper location in the user program to restart that
program
• The dispatcher should be fast enough as it is invoked
during every context switch.
• The time it takes for the dispatcher to stop one process
and start another running is known as the dispatch
latency
9. Scheduling criteria
• CPU Utilisation
• Range from 0 to 100
• Upto 40% for lightly loaded system, 90% for heavily loaded
• Throughput
• Number of processes/hour
• Turnaround time
• How long it takes to execute a process
• The interval from the time of submission of a process to the time of
completion is the turnaround time
• Te_cpu_io+Tmem+Tready_queue
• Waiting time
• Time for a process to wait in the ready queue
• Response Time
• the time from the submission of a request until the first response is
produced
10. Scheduling criteria
• Maximize
• throughput and
• CPU utilisation
• Minimize
• Turnaround,
• Waiting time
• Response time.