CPU Scheduling algorithms
Upcoming SlideShare
Loading in...5

CPU Scheduling algorithms



presentation on the topic CPU scheduling algorithms, and its different types.

presentation on the topic CPU scheduling algorithms, and its different types.



Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds


Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    CPU Scheduling algorithms CPU Scheduling algorithms Presentation Transcript

    •  Maximum CPU utilization obtained with multiprogramming.  Scheduling :- A method of assigning CPU to a process.  Scheduling is the basis of multi-programmed OS.
    •  A module that selects a process, for assigning CPU to it .  It Involves 2 Steps : Switching Context.  Jumping to the proper location in the program to re-start the program.  Dispatch Latency :- Time it takes for the dispatcher to stop one process and start another running.
    •  Non-Preemptive Scheduling Once A process is allocated the CPU, it does not leave unless :-  It has to wait for an I/O request.  It terminates.  Preemptive Scheduling OS can force (preempt) A process from CPU at anytime. For example : To allocate CPU to another higher priority processes.  Due to end of time slice.
    • 1. When A process switches from the running state to waiting state ( due to an I/O request ). 2. When A process switches from the running state to ready state ( due to end of time slice ). 3. When A process switches from the waiting state to ready state ( at completion of I/O ). 4. When A process terminates.
    • CPU Utilization – Keep the CPU as busy as possible. Throughput – Number of processes that complete their execution per time unit. Turnaround Time – Amount of time to execute A particular process. Waiting Time – Amount of time A process has been waiting in the ready queue. Response Time – Amount of time it takes from when A request was submitted until the first response is produced, not output (for time-sharing environment).
    • First-Come-First-Served Scheduling Round-Robin Scheduling Priority Scheduling Shortest-Job-First Scheduling
    • Simplest algorithm. Non-preemptive. Processes assigned in the order they request. Single queue of ready processes . FIFO queue structure. When the process joins the ready queue , it is linked to the tail of the FIFO queue. When the CPU is idle, the process at the head of the FIFO queue is allocated to the CPU and deleted from the queue.
    • Process Burst Time(ms) P1 24 P2 3 P3 3 P1 0 P2 24 P3 27 30 Chart 1 Average waiting time = 17 ms Average turnaround time = 27 ms P2 0 P3 3 P1 6 Chart 2 Average waiting time = 3 ms Average turnaround time = 13 ms 30
    • ADVANTAGES Easy to understand. Easy to program. Single queue keeps track of all ready processes. Picking a process to run, just requires removing one from the head of the queue. Adding a new process or unblocked process just requires attaching it to the tail of the queue.
    • DISADVANTAGES The average waiting time is often quite long . Its average waiting time varies if the CPU burst times vary greatly. Small process wait for one big process. Not suited for time sharing systems.
    • Designed for time sharing systems. Preemptive. Process assigned a time interval, called quantum. CPU scheduler allocates each process in the ready queue one time slice at a time. Follow FIFO queue structure. Processes allocated to the CPU may have the current CPU burst:1. equal to the time slice 2. smaller than the time slice 3. greater than the time slice In first two cases, process will release the CPU by its own. In the third case, the current process is preempted.
    • Process Burst time (ms) P1 24 P2 3 P3 3 Duration of time slice = 4 ms P1 0 P2 4 Waiting time, P3 7 P1 10 P1 14 P1 18 P1 = 0 + (10 – 4) P2 = 4 P3 = 7 Average waiting time = 17/3 = 5.66 ms P1 22 P1 26 30
    • ADVANTAGES Simple and easy to implement. Each processes get equal chance to execute. Handling all processes without priority. Starvation free. DISADVANTAGES Depend upon the length of the time slice. Same as FCFS, if time slice is indefinitely large. Small time slice will deteriorates due to frequent context switching.
    • ► A priority number (integer) is associated with each process. ► Smallest integer ≡ Highest priority. ► The CPU is allocated to the process with highest priority. ► Can be Preemptive or Non-preemptive. ► Equal priority processes are scheduled on FCFS.
    • Process Priority Burst time (ms) P1 3 10 P2 1 1 P3 3 2 P4 4 1 P5 2 5 P2 0 P5 1 P1 6 P3 16 P4 18 19 Chart 1 Average waiting time = (6+0+16+18+1) / 5 = 41/5 =8.2 ms
    • DISADVANTAGES ►If system eventually crashes, all low priority processes get lost. ► Indefinite blocking or Starvation. ADVANTAGES ► Aging :- As time increases , increase in the priority of a process. ► Simplicity. ► Suitable for applications with varying time and resource requirement.
    • ► Length of CPU burst of each process is considered. ► Process with the smallest CPU burst, will be executed first. ► In case of tie between processes, FCFS is used. ► SJF is optimal :- Gives minimum average waiting time for a given set of processes.
    • Process Arrival time (ms) Burst time (ms) P1 0 8 P2 1 4 P3 2 9 P4 3 5  SJF Preemptive Scheduling, P1 0 P2 1 P4 P1 P3 5 10 Chart 1 Average waiting time = 6.5 ms 17 26  SJF Non-preemptive scheduling, P1 0 P2 8 P4 12 Chart 2 Average waiting time = 7.75 ms P3 17 26
    • ADVANTAGES ► Produces the minimum average turnaround time. ► Reduces average waiting time. DISADVANTAGES ► Accurate length of CPU burst is not known. ► Some risk of Starvation for longer processes.