Anda di halaman 1dari 46

PENJADWALAN

PROSES
ABDUS SYAKUR
syakur@staff.gunadarma.ac.id

ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts


Penjadwalan  Proses

•  Memahami  tentang  konsep  dasar  penjadwalan  CPU,  


•  Memahami   kriteria   yang   diperlukan   untuk   penjadwalan          
CPU,  
•  Memahami   beberapa   algoritma   penjadwalan   CPU   yang                
terdiri   atas   algoritma   First   Come   First   Serve,   Shortest                  
Job  First,  Priority  dan  Round  Robin
Tiga  Level  Penjadwalan

CPU  

CPU  
Scheduler  
Arriving    
Job  

Main    
Memory  

Disk  
Admission   Memory  
Scheduler   Scheduler  
HISTOGRAM WAKTU CPU Burst

160

140

120

100
frequency

80

60

40

20

0
8 16 24 32 40
Burst duration (milliseconds)
CPU  Scheduler  
Empat  keadaan  penjadwalan  CPU  :  

1.  Apabila  proses  berpindah  dari  keadaan  running  ke  waiting  


2.  Apabila  proses  berpindah  dari  keadaan  running  ke  ready  
3.  Apabila  proses  berpindah  dari  keadaan  waiting  ke  ready  
4.  Apabila  proses  berhenti  

•  Keadaan  1  dan  4  :    
         non-­‐preemptive  
 
•  Keadaan  2  dan  3  :    
         preemptive  
Dispatcher  

Suatu   modul   yang   akan   memberikan          


kontrol   pada   CPU   terhadap   penyeleksian          
p r o s e s   y a n g   d i l a k u k a n   s e l a m a          
short-­‐term  scheduling.  

 
 
  yang  terkandung  didalamnya,  melipu=  :  
Fungsi-­‐fungsi  
   
1.  Switching  Context  
2.  Swich=ng  ke  user-­‐mode  
3.  Melompat   ke   lokasi   tertentu   pada   user   program        
untuk  memulai  program.  
 
Kriteria  Penjadwalan  
Kriteria   yang   digunakan   untuk   melakukan              
perbandingan  algoritma  penjadwalan  CPU  :  
 
1.  CPU  Utilization  
2.  Throughput  
3.  Turnarround  Time  
4.  Waiting  Time  
5.  Response  Time  
Kriteria  Penjadwalan  
CPU  Utilization  
 
  Diharapkan  agar  CPU  selalu
 dalam  keadaan  sibuk.  
 
Utilitas   CPU   dinyatakan   dal
am  bentuk  persen  yaitu      0  
–  100%.  Namun                          keny
ataannya  hanya                berkisa
r  antara  40    –  90%  
 
Kriteria  Penjadwalan  
Throughput  
 
 

•  Banyaknya  proses  yang  selesai  dikerjakan  dalam  satu  satuan  waktu.  

•  Memaksimalkan   jumlah   proses   yang   dilayani   per   satu   interval              


waktu.  
 
•  Lebih   tinggi   waktu   throughput   maka   makin   banyak   kerja   yang              
dilakukan  sistem.  
Kriteria  Penjadwalan  

Waiting  Time  
 
 

Waktu  yang  diperlukan  oleh  suatu  proses  untuk  me


nunggu  di  ready  queue  
 
Kriteria  Penjadwalan  
Turnarround  Time  
 
 

•  Banyaknya  waktu  yang  diperlukan  untuk  mengeksekusi  proses,  dar


i  mulai  menunggu  untuk  meminta  tempat  di  memori  utama,    menu
nggu   di   ready   queue,   eksekusi   oleh   CPU,   dan   mengerjakan     I/O              
sampai  semua  proses-­‐proses  tersebutdiselesaikan.  

 
Turnarround  Time    =    Waiting  Time  +  Waktu  Eksekusi  
Kriteria  Penjadwalan  
Response  Time  

Waktu   yang   diperlukan   oleh        


suatu  proses  dari  minta  dilayani
hingga   ada   respons   pertama        
yang   menanggapi   permintaan        
tersebut.  

•  Response  time  sistem  interaktif  


•  Response  time  sistem  waktu  nyata  
•  Fairness  
Kriteria  Penjadwalan  
Algoritma  Penjadwalan  
1.  First  Come  First  Serve  (FCFS)  
           
Pertama   datang,   pertama   dilayani,   tidak   peduli              
apakah   burst   timenya   panjang   atau   pendek,   sebuah    
proses   yang   sedang   dikerjakan   diselesaikan   terlebih  
dulu  barulah  proses  lainnya  dilayani.  
 
FCFS  merupakan  penjadwalan  :  
•  non-­‐preemptive  (run-­‐to-­‐completion)  
•  penjadwalan  tidak  berprioritas  
 
 
 
 
First  Come  First  Serve  (FCFS)  

Contoh  :  
 
Misalnya  proses-­‐proses  yang  akan  dikerjakan  oleh  C
PU  adalah  sebagai  berikut  :  
 
PROSES Arrival Time (AT) Burst Time (BT)
 
  P1 0 12
 
  P2 2 8
 
P3 3 5
 
  P4 5 2
 
  P5 9 1
First  Come  First  Serve  (FCFS)  
First  Come  First  Serve  (FCFS)  

Jadi  waktu  tunggu  setiap  proses  adalah  :  

P1 = 0 = 0 Average  Waiting  Time  :  


 
P2 = 12 – 2 = 10 (  0  +  10  +  17  +  20  +  18  )  =  65  /  5  =  13  ms  

P3 = 20 – 3 = 17

P4 = 25 – 5 = 20

P5 = 27 – 9 = 18
First  Come  First  Serve  (FCFS)  
PROSES AT BT

P5 0 1

P4 2 2

Urutan  Proses  :  P5,  P4,  P3,  P2,  P1   P3 3 5

P2 5 8

P1 9 12
Algoritma  Penjadwalan  
2.  Shortest  Job  First  (SJF)  
           
Pada   penjadwalan   SJF,   proses   yang   memiliki   CPU              
burst  paling  kecil  dilayani  terlebih  dahulu.  
 
•  Non  Preemptive  
bila   CPU   diberikan   pada   proses,   maka   tidak   bisa              
ditunda  sampai  CPU  burst  selesai.  
 
•  Preemptive  
jika   proses   baru   datang   dengan   panjang   CPU   burst          
lebih   pendek   dari   sisa   waktu   proses   yang   saat   itu              
sedang   dieksekusi,   proses   ini   ditunda   dan   diganti            
dengan  proses  baru.   (Shortest-­‐Remaining  Time-­‐First  (SRTF)  

 
SJF-­‐Non  Preemptive  
Mirip  FCFS  tetapi  jika  AT  sama,  maka  dipilih  proses  yang  BT-­‐nya            lebi
h  pendek  untuk  diproses  terlebih  dahulu,  atau  dengan  kata  lain    penjad
walan  ini  lebih  dulu  menjadwalkan  proses  dengan  waktu  jalanterpend
ek  sampai  selesai.  
 
Contoh  :  
 
Misalnya  proses-­‐proses  yang  akan  dikerjakan  oleh  CPU  adalah  sebagai  berikut  :  
 
 
PROSES Arrival Time (AT) Burst Time (BT)
 
 
  P1 0 12
 
  P2 2 8
 
  P3 3 5
 
P4 5 2

P5 9 1
SJF  –  Non  Preemptive  
PROSES AT BT

P1 0 12

P2 2 8

P3 3 5

P4 5 2

P5 9 1
SJF  –  Non  Preemptive  

Jadi  waktu  tunggu  setiap  proses  adalah  :  

P1 = 0 = 0 Average  Waiting  Time  :  


 
P2 = 20 – 2 = 18 (  0  +  18  +  12  +  8  +  3  )  =  41  /  5  =  8,5  ms  

P3 = 15 – 3 = 12

P4 = 13 – 5 = 8

P5 = 12 – 9 = 3
SJF-­‐Preemptive  
Jika   suatu   proses   sedang   dikerjakan   kemudian   ada   proses   lain   yang            
datang  dimana  BT-­‐nya  lebih  kecil  dari  sisa  waktu  proses  yang  sedang      
dijalankan   itu,   maka   proses   lain   ini   akan   dikerjakan   dulu,   sementara            
sisa  proses  tadi  dikembalikan  ke  Ready  Queue  (RQ)  
 
Contoh  :  
 
Misalnya  proses-­‐proses  yang  akan  dikerjakan  oleh  CPU  adalah  sebagai    berikut  :  
 
 
  PROSES Arrival Time (AT) Burst Time (BT)
 
  P1 0 12
 
  P2 2 8
 
  P3 3 5
 
P4 5 2

P5 9 1
SJF-­‐Preemptive  
PROSES AT BT

P1 0 12

P2 2 8

P3 3 5

P4 5 2

P5 9 1

NON-PREEMPTIVE

P1
P2
SJF-­‐Preemptive  

Jadi  waktu  tunggu  setiap  proses  adalah  :  

P1 = 0 + (18-2) = 16 Average  Waiting  Time  :  


 
P2 = 11 – 3 = 9 (  16  +  9  +  2  +  0  +  1  )  =  28/  5  =  5,6  ms  

P3 = 7 - 5 = 2

P4 = 0 (5 – 5) = 0

P5 = 10 – 9 = 1
Algoritma  Penjadwalan  
3.  Priority  Scheduling  
           
Suatu   kasus   khusus   dari   penjadwalan   berprioritas.      
Tiap-­‐tiap   proses   dilengkapi   dengan   nomor   prioritas    
(integer).  
 
CPU   dialokasikan   untuk   proses   yang   memiliki              
prioritas  paling  tinggi.  (nilai  integer  terkecil  =  prioritas  terbesar)  
Priority  Scheduling  NON-­‐PREEMPTIVE  

Contoh  :  
 
Penjadwalan  dengan  PRIORITAS  NON-­‐PREEMPTIVE  
 
 
  PROSES Arrival Time Burst Time Size (kb)
 
  P1 0 10 100 kb

 
P2 2 8 150 kb
 
 
P3 3 12 175 kb
 
  P4 5 5 100 kb
Priority  Scheduling  NON-­‐PREEMPTIVE  
PROSES Arrival Time Burst Time Size (kb)

P1 0 10 100 kb

P2 2 8 150 kb

P3 3 12 175 kb

P4 5 5 100 kb
Priority  Scheduling  NON-­‐PREEMPTIVE  

Jadi  waktu  tunggu  setiap  proses  adalah  :  

Average  Waiting  Time  :  


P1 = 0 = 0
 
(  0  +  20  +  7  +  25  )  =  52/4  =  13  ms  
P2 = (22-2) = 20

P3 = (10 – 3) = 7

P4 = (30 – 5 ) = 25
Priority  Scheduling  

Contoh  :  
 
Penjadwalan  dengan  PRIORITAS  PREEMPTIVE  
berdasarkan  prioritas  SIZE  yang  lebih  besar.  
 
  PROSES Arrival Time Burst Time Size (kb)
 
  P1 0 10 100 kb

 
P2 2 8 150 kb
 
 
P3 3 12 175 kb
 
  P4 5 5 100 kb
 
Priority  Scheduling  PREEMPTIVE  

PROSES Arrival Time Burst Time Size (kb)

P1 0 10 100 kb

P2 2 8 150 kb

P3 3 12 175 kb

P4 5 5 100 kb

P4
Priority  Scheduling  PREEMPTIVE  

Jadi  waktu  tunggu  setiap  proses  adalah  :  

Average  Waiting  Time  :  


P1 = 0 + (22-2) = 20
 
(  20  +  12  +  0  +  25  )  =  57/  4  =  14,2  ms  
P2 = (2-2) + (15-3) = 12

P3 = 3 - 3 = 0

P4 = 30 – 5 = 25
Algoritma  Penjadwalan  
4.  Round-­‐Robin  Scheduling  
           
•  Konsep  :  TIME  SHARING  
•  Sama   dengan   FCFS,   hanya   saja   bersifat              
PREEMPTIVE  
•  Setiap   proses   mendapatkan   jatah   waktu   proses          
CPU  (Quantum  Time).  
 
1.  RR  –  FCFS  
2.  RR  –  SJF  (Non  Preemptive)  
3.  RR  –  SJF  (Preemptive)  
RR  -­‐  FCFS  

•  Merupakan  metode  penjadwalan,  yang  leb


ih   dulu   sampai   di   ready   queue   akan            
dilayani  terlebih  dahulu.  
 
•  Jika   quantum   time   untuk   proses   tersebut      
dihabiskan   lebih   dahulu,   maka   proses            
tersebut   harus   keluar   dan   masuk   kembali  
ke  antrian  ready  queue  kalau  masih  ada  si
sa    (list  masuk  belakang).  
 
 
 
 
RR  -­‐  FCFS  

Contoh  :  
 
Misalnya  proses-­‐proses  yang  akan  dikerjakan  oleh  C
PU  adalah  sebagai  berikut  :  
 
PROSES Arrival Time (AT) Burst Time (BT)
 
  P1 0 12
 
  P2 2 8
 
P3 3 5
 
  P4 5 2
 
  P5 9 1
RR  -­‐  FCFS   PROSES AT BT

P1 0 12

P2 2 8

P3 3 5

P4 5 2
Diketahui  :  RR  –  FCFS  dengan  Quantum  Time  =  3  
P5 9 1
RR  -­‐  FCFS  

Jadi  waktu  tunggu  setiap  proses  adalah  :  

P1 = 0 + (9-3) + (20-12) + (25-23) = 16 Average  Waiting  Time  :  


 
P2 = (3-2) + (14-6) + (23+17) = 15 (  16+  15+  12+  17  +  8)  =  58/5  =  11,6  ms  

P3 = (6-3) + (18-9) = 12

P4 = (12-5) = 17

P5 = (17-9) = 8
RR  –  SJF  (Non  Preemptive)  

•  M e r u p a k a n   p e n j a d w a l a n   d e n g a n            
pemberian   jatah   waktu   sebesar   Q   kepada      
setiap   proses,   tetapi   pada   saat   AT   sama,        
yang   dipilih   berikutnya   untuk   proses            
adalah  yang  BT-­‐nya  kecil.  
RR  –  SJF  (Non  Preemptive)  

Contoh  :  
 
Misalnya   proses-­‐proses   yang   akan   dikerjakan   oleh        
CPU  adalah  sebagai  berikut  :  
 
PROSES Arrival Time (AT) Burst Time (BT)
 
  P1 0 12
 
  P2 2 8
 
P3 3 5
 
  P4 5 2
 
  P5 9 1
RR  –  SJF  (Non  Preemptive)  
PROSES AT BT

P1 0 12

P2 2 8
Diketahui  :  RR  –  FCFS  dengan  Quantum  Time  =  3  
P3 3 5

P4 5 2

P5 9 1
RR  -­‐  SJF  (Non  Preemptive)  

Jadi  waktu  tunggu  setiap  proses  adalah  :  

P1 = 0 + (19-3) = 16 Average  Waiting  Time  :  


 
P2 = (11-2) = 9 (  16  +  9  +  3  +  3  +  1)  =  32/5  =  5,3  ms  

P3 = (6-3) = 3

P4 = (8-5) = 3

P5 = (10-9) = 1
RR  –  SJF  (Preemptive)  

Contoh  :  
 
Misalnya   proses-­‐proses   yang   akan   dikerjakan   oleh        
CPU  adalah  sebagai  berikut  :  
 
PROSES Arrival Time (AT) Burst Time (BT)
 
  P1 0 12
 
  P2 2 8
 
P3 3 5
 
  P4 5 2
 
  P5 9 1
RR  –  SJF  (Preemptive)  
PROSES AT BT

P1 0 12

P2 2 8
Diketahui  :  RR  –  FCFS  dengan  Quantum  Time  =  3  
P3 3 5

P4 5 2

P5 9 1
RR  -­‐  SJF  (Non  Preemptive)  

Jadi  waktu  tunggu  setiap  proses  adalah  :  

P1 = 0 + (18-2) = 16 Average  Waiting  Time  :  


 
P2 = 0 + (11-3) = 8 (  16  +  8  +  2  +  0  +  1)  =  27/5  =  5,4  ms  

P3 = 0 + (7-5) = 2

P4 = 0

P5 = (10-9) = 1
Algoritma  Penjadwalan  
4.  Two  Queues  Scheduling  
           
Ya  

Tidak  

Anda mungkin juga menyukai