Anda di halaman 1dari 43

Sistem Operasi

Penjadwalan CPU

Irawati., S.Kom M.T.


Konsep Dasar Penjadualan CPU

• Memaksimalkan kinerja CPU


melalui multiprogramming
Konsep dasar multiprogramming

• adalah suatu proses akan menggunakan


CPU sampai proses tersebut dalam
kondisi wait (misalnya meminta I/O) atau
selesai. Pada saat wait, maka CPU akan
menganggur.
• Untuk mengatasi hal ini, maka CPU
dialihkan ke proses lain pada saat suatu
proses sedang dalam keadaan wait.
Kapan keputusan untuk algoritma
dilakukan:
• Saat suatu proses:
1.Switch dari status running ke waiting.
2.Switch dari status running ke ready.
3.Switch dari status waiting ke ready.
4.Terminates.
Kriteria Penjadwalan [1]

1. CPU Utilization : Diharapkan agar CPU


selalu dalam keadaan sibuk.
2. Throughput : Banyaknya proses yang
selesai dikerjakan dalam satu satuan
waktu.
3. Turnaround time : Banyaknya waktu
yang diperlukan untuk mengeksekusi
proses.
Kriteria Penjadwalan [2]

4. Waiting time : Waktu yang diperlukan oleh


suatu proses untuk menunggu di ready
queue.
5. Response time : Waktu yang dibutuhkan oleh
suatu proses dari minta dilayani hingga ada
respon pertama yang menanggapi
permintaan tersebut.
6. Fairness : Menyakinkan bahwa tiap-tiap
proses akan mendapatkan pembagian waktu
penggunaan CPU secara terbuka (fair).
Algoritma Penjadwalan :First-
come, first-served (FCFS) [1]
• FCFS : Proses yang pertama kali
meminta jatah waktu untuk menggunakan
CPU akan dilayani terlebih dahulu.
• Contoh : Ada 3 proses yaitu P1, P2, dan
P3 yang meminta pelayanan CPU
sebagai berikut:
First- come, first-served (FCFS) [2]

Proses Burst Time (ms)


P1 24
P2 3
P3 3
Pertanyaan :

a. Gambarkan Gant Chartnya


b. Hitung AWT (Average Waiting Time)
a. Gambar Gant Chart:

P1 P2 P3

0 24 27 30
b. Hitung AWT

Proses Burst Time (ms)


P1 0
P2 24
P3 27

AWT = (P1+P2+P3)/3 = (0+24+27) /3 = 51/3 = 17 ms

Algoritma FCFS termasuk jenis penjadualan Non-Preemptive


Latihan FCFS

Proses Burst Time (ms)


P2 3
P3 3
P1 24
Pertanyaan :

a. Gambarkan Gant Chartnya


b. Hitung AWT (Average Waiting Time)
a. Gambar Gant Chart:

P2 P3 P1

0 3 6 30
b. Hitung AWT

Proses Waiting Time (ms)


P2 0
P3 3
P1 6

AWT = (P2+P3+P1)/3= (0+3+6) /3 = 9/3 = 3 ms


QUIS
Proses Waiting Time (ms)
P4 5
P2 10
P1 3
P3 7

Pertanyaan :
a. Gambarkan Gant Chartnya
b. Hitung AWT (Average Waiting Time)
Algoritma Penjadwalan : Shortest-
Job-First (SJF)
• SJF : proses yang memiliki CPU burst paling
kecil dilayani terlebih dahulu. Terdapat dua
skema :

1. Non preemptive : bila CPU diberikan pada


proses, maka tidak bisa ditunda sampai CPU
burst selesai.
2. 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. Skema ini disebut dengan Shortest-
Remaining-Time-First (SRTF).
Contoh : SJF Non-Preemptive

Proses Arrival Time Burst Time


Saat Tiba Lama Proses

P1 0 7
P2 2 4
P3 4 1
P4 5 4
Pertanyaan :

a. Gambarkan Gant Chartnya


b. Hitung AWT (Average Waiting Time)
a. Gambar Gant Chart:

P1 P3 P2 P4

0 7 8 12 16

Catatan : Walaupun P1 Burts Time nya 7 tetapi diproses


terlebih dahulu, karena P1 datanya pada Arrival Time = 0,
sedangkan pada waktu Arrival Time 0 belum ada proses lain
masuk, jadi P1 tidak bisa dibandingkan dengan proses-proses
yang lain.
b. Hitung AWT

Proses Waiting Time (ms)


P1 0-0 =0
P2 8-2=6
P3 7-4=3
P4 12-5=7

Arrival Time
AWT = (P1+P2+P3+P4)/4= (0+6+3+7) /4 = 16/4 = 4 ms
Jadi rata – rata waktu yang dibutuhkan pada
metode ini adalah 4 m/s
QUIS : SJF Non-Preemptive

Proses Arrival Time Burst Time


Saat Tiba Lama Proses

P1 0 10
P2 4 12
P3 7 3
P4 8 5

a. Gambarkan Gant Chartnya


b. Hitung AWT (Average Waiting Time)
Contoh : SJF Preemptive / SRTF

Proses Arrival Time Burst Time


P1 0 7
P2 2 4
P3 4 1
P4 5 4

Pertanyaan :

a. Gambarkan Gant Chartnya


b. Hitung AWT (Average Waiting Time)
a. Gambar Gant Chart:

P1 P2 P3 P2 P4 P1

0 2 4 5 7 12 19
b. Hitung AWT

Proses Waiting Time (ms)


P1 0+(12-2)-0 =10
P2 (2+(5-4))-2=1
P3 4-4=0
P4 7-5=2

Arrival Time

AWT = (P1+P2+P3+P4)/4= (10+1+0+2) /4 = 13/4 = 3.3 ms


SJF Preemptive / SRTF
Proses Arrival Time Burst Time
P1 0 3
P2 4 2
P3 6 3
P4 7 8

Pertanyaan :

a. Gambarkan Gant Chartnya


b. Hitung AWT (Average Waiting Time)
SJF Preemptive / SRTF
Proses Arrival Time Burst Time
P1 0 6
P2 3 5
P3 5 4
P4 7 5

Pertanyaan
:
a. Gambarkan Gant Chartnya
b. Hitung AWT (Average Waiting Time)
Algoritma Penjadwalan : Priority
Scheduling
• Algoritma SJF adalah suatu kasus
khusus dari priority scheduling.
• Tiap proses dilengkapi dengan prioritas.
CPU dialokasikan untuk proses yang
memiliki prioritas yang paling tinggi.
• Jika beberapa proses memiliki prioritas
yang sama, maka akan digunakan
algoritma FCFS.
Contoh Priority Scheduling

Proses Burst time (ms) Priority


P1 10 3
P2 1 1
P3 2 3
P4 1 4
P5 5 2

Pertanyaan
:
a. Gambarkan Gant Chartnya
b. Hitung AWT (Average Waiting Time)
a. Gambar Gant Chart:

P2 P5 P1 P3 P4

0 1 6 16 18 19
b. Hitung AWT

Proses Waiting Time (ms)


P1 6
P2 0
P3 16
P4 18
P5 1

AWT = (P1+P2+P3+P4+P5)/5= (6+0+16+18+1) /5 = 41/5 = 8,2 ms


Contoh Priority Scheduling

Proses Burst time (ms) Priority


P1 5 4
P2 4 2
P3 2 1
P4 1 4
P5 5 3

Pertanyaan
:
a. Gambarkan Gant Chartnya
b. Hitung AWT (Average Waiting Time)
Contoh Priority Scheduling
Proses Burst time (ms) Priority
P1 8 4
P2 4 2
P3 2 6
P4 3 1
P5 2 4

Pertanyaan
:
a. Gambarkan Gant Chartnya
b. Hitung AWT (Average Waiting Time)
Algoritma Penjadwalan : Round-
Robin (RR) [1]
• Konsep dasar dari algoritma ini adalah
dengan menggunakan Time Sharing.
• Pada dasarnya algoritma ini sama
dengan FCFS, hanya saja bersifat
preemptive.
• Digunakan quantum-time untuk
membatasi waktu proses.
Round-Robin (RR) [2]

1. Jika BT < QT; maka proses tersebut


akan melepaskan CPU jika telah selesai
bekerja, sehingga CPU dapat segera
digunakan oleh proses berikutnya.
2. Jika BT > QT; maka proses tersebut
akan dihentikan sementara jika sudah
mencapai quantum time dan
selanjutnya mengantri kembali pada
posisi ekor dari ready queue.
BT : Burst Time ; QT : Quantum Time
Contoh : Round Roubin

PROSES BURST TIME (ms)


P1 24
P2 3
P3 3

Dengan QT = 4 ms

Pertanyaan :

a. Gambarkan Gant Chartnya


b. Hitung AWT (Average Waiting Time)
a. Gambar Gant Chart:

P1 P2 P3 P1

0 4 7 10 14
b. Hitung AWT

Proses Waiting Time (ms)


P1 0+(10-4)=6
P2 4
P3 7

AWT = (P1+P2+P3)/3= (6+4+7) /3 = 5,66 ms


Contoh : Round Roubin

PROSES BURST TIME (ms)


P1 5
P2 4
P3 6

Dengan QT = 10 ms

Pertanyaan :

a. Gambarkan Gant Chartnya


b. Hitung AWT (Average Waiting Time)
Latihan :
Proses Arrival Time Burst Time (ms)
P1 0 10
P2 4 6
P3 6 4
P4 8 8

Pertanyaan : Gambarkan Gant Chart & Hitung AWT untuk :


a. Algoritma FCFS
b. Algoritma SJF-Non Preemptive
c. Algoritma SJF- Preemptive / SRTF
d. Algoritma Round-Robin dengan QT = 2 ms
e. Algoritma Priority dengan prioritas masing2
(P1=3,P2=1,P3=2,P4=4)
Latihan :
Proses Arrival Time Burst Time (ms)
P1 0 8
P2 5 5
P3 3 4
P4 7 6

Pertanyaan : Gambarkan Gant Chart & Hitung AWT untuk :


a. Algoritma FCFS
b. Algoritma SJF-Non Preemptive
c. Algoritma SJF- Preemptive / SRTF
d. Algoritma Round-Robin dengan QT = 5 ms
e. Algoritma Priority dengan prioritas masing2
(P1=2,P2=3,P3=4,P4=1)
Latihan :
Proses Arrival Time Burst Time (ms)
P1 0 10
P2 8 8
P3 4 5
P4 5 7

Pertanyaan : Gambarkan Gant Chart & Hitung AWT untuk :


a. Algoritma FCFS
b. Algoritma SJF-Non Preemptive
c. Algoritma SJF- Preemptive / SRTF
d. Algoritma Round-Robin dengan QT = 12 ms
e. Algoritma Priority dengan prioritas masing2
(P1=1,P2=3,P3=4,P4=2)
Latihan :
Proses Arrival Time Burst Time (ms)
P1 0 10
P2 4 6
P3 6 4
P4 8 8

Pertanyaan : Gambarkan Gant Chart & Hitung AWT untuk :


a. Algoritma FCFS
b. Algoritma SJF-Non Preemptive
c. Algoritma SJF- Preemptive / SRTF
d. Algoritma Round-Robin dengan QT = 2 ms
e. Algoritma Priority dengan prioritas masing2
(P1=3,P2=1,P3=2,P4=4)

Anda mungkin juga menyukai