cpu-scheduling
cpu-scheduling
SCHEDULING
P O R T
RE
BY: E L F I E L A M P I N A Q U E
D E X T E R J A M E S D E G AYO
TABLE OF CONTENT
1 BASIC CONCEPTS
2 SCHEDULING CRITERIA
SCHEDULING ALGORITHMS (FCFS,
3
SJF, PRIORITY, ROUND ROBIN,
E TC . )
M U LT I L E V E L Q U E U E
4
SCHEDULING
BASIC CONCEPTS
C P U S C H E D U L I N G I S A F U N D A M E N TA L C O N C E P T
I N O P E R AT I N G S Y S T E M S T H AT D E T E R M I N E S
WHICH PROCESS GETS TO USE THE CPU WHEN
M U LT I P L E P R O C E S S E S A R E R E A DY T O E X E C U T E .
T H E S T R U C T U R E O F C P U S C H E D U L I N G I N C LU D E S
VA R I O U S C O M P O N E N T S A N D S C H E D U L I N G
ALGORITHMS.
CPU SCHEDULING
COMPONENTS
1 . P R O C E S S S TAT E S :
> N e w → R e a d y → R u n n i n g → Wa i t i n g → Te r m i n a t e d
> T h e C P U s c h e d u l e r s e l e c t s p ro c e s s e s f ro m t h e Re a d y
Queue for execution.
4.CPU Scheduler
> S e l e c t s a p ro c e s s f ro m t h e Re a d y Q u e u e a n d a s s i g n s i t t o t h e C P U .
5.Dispatcher:
Loads the selected process from the ready queue into the CPU for
execution.
TYPES OF CPU SCHEDULING
ALGORITHMS
CPU SCHEDULING CAN BE DIVIDED INTO PREEMPTIVE AND NON-
PREEMPTIVE APPROACHES.
2 . S h o r t e s t J o b N e x t ( S J N ) / S h o r t e s t J o b Fi r s t ( S J F ) :
> P r o c e s s w i t h t h e s m a l l e s t b u r s t t i m e i s s e l e c t e d fi r s t .
> O p t i m a l i n m i n i m i z i n g w a i t i n g t i m e b u t s u ff e r s f r o m s t a r v a t i o n
TYPES OF CPU SCHEDULING
ALGORITHMS
3.PRIORITY SCHEDULING:
P r o c e s s w i t h t h e h i g h e s t p r i o r i t y i s s c h e d u l e d fi r s t .
Starvation can occur if low-priority processes never get CPU
time.
• S Y M M E T R I C M U LT I P R O C E S S I N G ( S M P ) : E A C H
PR O C E S S O R H A S I TS O W N S C H E DU LE R.
• Asymmetric Multiprocessing (AMP): One
processor handles scheduling for all others.
2. SCHEDULING
CRITERIA
SCHEDULING
CRITERIA
THE SCHEDULING CRITERIA STRUCTURE
R E F E R S T O T H E FA C T O R S U S E D T O E VA LU AT E
AND PRIORITIZE PROCESSES IN A
SCHEDULING ALGORITHM. THESE CRITERIA
DETERMINE THE EFFICIENCY AND
EFFECTIVENESS OF A SCHEDULING SYSTEM,
E S P E C I A L LY I N O P E R AT I N G S Y S T E M S A N D
COMMON SCHEDULING CRITERIA:
PRIORITY HANDLING – IF A
P R I O R I T Y- B A S E D S C H E D U L I N G
ALGORITHM IS USED, IT ENSURES
SCHEDULING
ALGORITHMS
(FCFS, SJF, PRIORITY,
ROUND ROBIN
1 . F I R S T C O M E F I R S T S E RV E ( F C F S )
D E S C R I P T I O N : T H E P R O C E S S T H AT
A R R I V E S F I R S T I S E X E C U T E D F I R S T.
TYPE: NON-PREEMPTIVE
A D VA N TA G E S : S I M P L E A N D E A S Y T O
I M P L E M E N T.
D I S A D VA N TA G E S : C A U S E S C O N V OY
E F F E C T ( L O N G P R O C E S S E S D E L AY
3. PRIORITY SCHEDULING
DESCRIPTION: PROCESSES ARE
E X E C U T E D B A S E D O N P R I O R I T Y ( LO W E R
VA LU E = H I G H E R P R I O R I T Y ) .
TYPE: CAN BE PREEMPTIVE OR NON-
PREEMPTIVE.
A D VA N TA G E S : I M P O RTA N T TA S K S G E T
E X E C U T E D F I R S T.
D I S A D VA N TA G E S : M AY C A U S E
2 . S H O RT E S T J O B F I R S T ( S J F )
DESCRIPTION: THE PROCESS WITH
T H E S H O RT E S T B U R S T T I M E I S
E X E C U T E D F I R S T.
T Y P E : C A N B E P R E E M P T I V E ( S H O RT E S T
R E M A I N I N G T I M E F I R S T - S RT F ) O R
NON-PREEMPTIVE.
A D VA N TA G E S : M I N I M I Z E S AV E R A G E
WA I T I N G T I M E .
SCHEDULING ALGORITHMS
(FCFS, SJF, PRIORITY, ROUND
ROBIN
S C H E D U L I N G A L G O R I T H M S A R E U S E D BY
O P E R AT I N G S Y S T E M S T O D E T E R M I N E T H E
ORDER IN WHICH PROCESSES EXECUTE IN
A CPU. THE GOAL IS TO OPTIMIZE CPU
U T I L I Z AT I O N , R E S P O N S E T I M E , A N D
T H R O U G H P U T W H I L E M I N I M I Z I N G WA I T I N G
1 . F I R S T- C O M E , F I R S T- S E RV E D ( F C F S )
SCHEDULING
✅ TYPE: NON-PREEMPTIVE
✅ SELECTION CRITERIA: PROCESSES ARE
EXECUTED IN THE ORDER THEY ARRIVE.
✅ STRUCTURE:
M A I N TA I N A Q U E U E ( F I F O – F I R S T I N ,
FIRST OUT).
THE FIRST PROCESS IN THE QUEUE GETS
✅ A D VA N TA G E S :
✔ SIMPLE TO IMPLEMENT
✔ N O S TA RVAT I O N
✅ D I S A D VA N TA G E S :
✖ H I G H WA I T I N G T I M E I F A L O N G
P R O C E S S C O M E S F I R S T ( C O N V OY
EFFECT)
✖ N O T S U I TA B L E F O R T I M E -
2 . S H O RT E S T J O B F I R S T ( S J F ) S C H E D U L I N G
✅ T Y P E : C A N B E P R E E M P T I V E ( S H O RT E S T
R E M A I N I N G T I M E F I R S T - S RT F ) O R N O N -
PREEMPTIVE
✅ SELECTION CRITERIA: THE PROCESS WITH THE
S H O RT E S T B U R S T T I M E E X E C U T E S F I R S T.
✅ STRUCTURE:
S O RT A L L P R O C E S S E S B A S E D O N B U R S T T I M E .
T H E P R O C E S S W I T H T H E LO W E S T B U R S T T I M E
G E T S C P U F I R S T.
I N P R E E M P T I V E S J F ( S RT F ) , I F A N E W P R O C E S S
✅ A D VA N TA G E S :
✔ M I N I M I Z E S WA I T I N G T I M E A N D
TURNAROUND TIME
✔ E F F I C I E N T F O R B ATC H P R O C E S S I N G
✅ D I S A D VA N TA G E S :
✖ REQUIRES KNOWING BURST TIME
I N A D VA N C E
✖ C A N L E A D T O S TA RVAT I O N O F
3. PRIORITY SCHEDULING
✅ TYPE: CAN BE PREEMPTIVE OR NON-
PREEMPTIVE
✅ SELECTION CRITERIA: EACH PROCESS HAS A
P R I O R I T Y N U M B E R ; T H E LO W E R T H E N U M B E R ,
T H E H I G H E R T H E P R I O R I T Y.
✅ STRUCTURE:
S O RT P R O C E S S E S B A S E D O N P R I O R I T Y.
T H E H I G H E S T- P R I O R I T Y P R O C E S S E X E C U T E S
F I R S T.
IN PREEMPTIVE PRIORITY SCHEDULING, A NEW
✅ A D VA N TA G E S :
✔ U S E F U L F O R R E A L -T I M E S Y S T E M S
✔ E N S U R E S U R G E N T TA S K S G E T C P U
FIRST
✅ D I S A D VA N TA G E S :
✖ L O W - P R I O R I T Y P R O C E S S E S M AY
S TA RV E ( S TA RVAT I O N P R O B L E M )
✖ REQUIRES A MECHANISM (AGING) TO
P R E V E N T S TA RVAT I O N
4. ROUND ROBIN (RR) SCHEDULING
✅ TYPE: PREEMPTIVE
✅ SELECTION CRITERIA: EACH PROCESS GETS
A FIXED TIME SLICE (QUANTUM).
✅ STRUCTURE:
EACH PROCESS IS GIVEN A TIME SLICE (E.G.,
4MS).
AFTER ITS TIME SLICE, THE PROCESS IS
MOVED TO THE BACK OF THE QUEUE IF IT
HASN’T FINISHED.
✅ A D VA N TA G E S :
✔ FA I R F O R A L L P R O C E S S E S
✔ GOOD FOR TIME-SHARING
SYSTEMS
✅ D I S A D VA N TA G E S :
✖ C O N T E X T S W I TC H I N G O V E R H E A D
✖ HIGHER TURNAROUND TIME FOR
LO N G P R O C E S S E S I F T H E Q U A N T U M
MULTILEVEL QUEUE
SCHEDULING
W H AT I S M U LT I L E V E L Q U E U E S C H E D U L I N G
M U LT I L E V E L Q U E U E ( M L Q ) S C H E D U L I N G I S A
C P U S C H E D U L I N G A L G O R I T H M T H AT D I V I D E S
P R O C E S S E S I N T O M U LT I P L E Q U E U E S B A S E D
O N T H E I R C H A RAC T E R I S T I C S ( E . G . ,
P R I O R I T Y , P R O C E S S T Y P E , O R M E M O RY
REQUIREMENTS). EACH QUEUE HAS ITS
OWN SCHEDULING ALGORITHM, AND
S T R U C T U R E O F M U LT I L E V E L Q U E U E S C H E D U L I N G
✅ K E Y F E AT U R E S :
D I V I D E S T H E R E A DY Q U E U E I N T O M U LT I P L E
QUEUES.
EACH QUEUE HAS ITS OWN SCHEDULING
ALGORITHM (E.G., FCFS, SJF, RR).
A SCHEDULING POLICY DETERMINES HOW CPU
T I M E I S A L L O C AT E D B E T W E E N Q U E U E S .
✅ TYPES OF SCHEDULING BETWEEN QUEUES:
F I X E D P R I O R I T Y S C H E D U L I N G : H I G H E R- P R I O R I T Y
Q U E U E S A LWAY S E X E C U T E F I R S T.
TYPICAL QUEUES IN MLQ
SCHEDULING
A D VA N TA G E S & D I S A D VA N TA G E S
✅ A D VA N TA G E S :
✔ P R I O R I T I Z E S C R I T I C A L TA S K S ( S Y S T E M A N D
I N T E RAC T I V E P R O C E S S E S ) .
✔ E F F I C I E N T U S E O F C P U BY A L L O C AT I N G D I F F E R E N T
SCHEDULING ALGORITHMS.
✔ G O O D F O R S Y S T E M S W I T H D I V E R S E W O R K LOA D
TYPES.
❌ D I S A D VA N TA G E S :
✖ S TA RVAT I O N C A N O C C U R I F L O W E R - P R I O R I T Y
QUEUES GET LITTLE CPU TIME.
✖ PROCESSES ARE STUCK IN THEIR QUEUES (NO
MOVEMENT BETWEEN QUEUES).
W H E N T O U S E M U LT I L E V E L
QUEUE SCHEDULING?
• O P E R AT I N G S Y S T E M S : S E PA R AT I N G S Y S T E M
P R O C E S S E S , U S E R A P P L I C AT I O N S , A N D
B A C K G R O U N D TA S K S .
• C LO U D C O M P U T I NG : A S S I G N I N G P R I O R I T Y T O
D I F F E R E N T W O R K L O A D S ( R E A L -T I M E
P R O C E S S I N G V S . B ATC H J O B S ) .
THANK
YOU