PROSES
ABDUS SYAKUR
syakur@staff.gunadarma.ac.id
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
:
• Keadaan
1
dan
4
:
non-‐preemptive
• Keadaan
2
dan
3
:
preemptive
Dispatcher
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
Waiting
Time
Turnarround
Time
=
Waiting
Time
+
Waktu
Eksekusi
Kriteria
Penjadwalan
Response
Time
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)
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
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
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
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
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
P1 0 10 100 kb
P2 2 8 150 kb
P3 3 12 175 kb
P4 5 5 100 kb
P4
Priority
Scheduling
PREEMPTIVE
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
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
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)
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)
P3 = 0 + (7-5) = 2
P4 = 0
P5 = (10-9) = 1
Algoritma
Penjadwalan
4.
Two
Queues
Scheduling
Ya
Tidak