Anda di halaman 1dari 59

PENJADWALAN PROSES

Tipe-Tipe Penjadwalan:
• Short Term Scheduling
• Medium Term Scheduling
Long Term Scheduling

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 1


Tipe-Tipe Penjadwalan (cont’d)
• Penjadwalan Jangka pendek (PJPK) <Short
Term Scheduling>, yaitu menjadwalkan
alokasi pemroses diantara proses dengan
status ready yang terdapat di memori utama.
Penjadwalan ini dijalankan setiap terjadi
pengalihan proses untuk memilih proses
berikutnya

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 2


Tipe-Tipe Penjadwalan (cont’d)
• Penjadwalan Jangka menengah (PJM)
<Medium Term Scheduling>, adalah
penjadwalan menangai proses-proses
swaping. Proses-proses mempuyai
kepentingan kecil saat itu sebagai proses
tertunda

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 3


Tipe-Tipe Penjadwalan (cont’d)
• Penjadwalan Jangka panjang (PJP) <Long Term
Scheduling>, adalah penjadwalan yang bekerja
terhadap antrian batch dan memilih batch
berikutnya yang harus dieksekusi. Sasaran
utama adalah memberi keseimbangan job-job
campuran

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 4


Tipe Penjadwalan (cont’d)
Strategi Penjadwalan
Strategi penjadwalan biasanya dilakukan dengan
2 (dua) startegi yaitu:
•Preemtive Scheduling
•Non-Preemtive Scheduling

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 6


Strategi Penjadwalan
Ada 4 keadaan yang menjadi bahan pertimbangan dalam
penjadwalan yaitu:
1)Saat proses berpindah dari keadaan running ke waiting:
2)Saat proses berpindah dari keadaan running ke ready:
3)Saat proses berpindah dari keadaan waiting ke ready:
4)Saat proses berhenti

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 7


Strategi Penjadwalan
• Apabila model penjadwalan yang dipilih
menggunakan keadaan 1 dan 4, maka
penjadwalan semacam ini disebut non-
preemptive (non-preemtion).
• Sebaliknya, apabila yang digunakan adalah
keadaan 2 dan 3, maka disebut dengan
preemptive (preemtion)

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 8


Non-Preemtive Scheduling

• Pada non-preemptive jika suatu proses sedang


menggunakan CPU, maka proses tersebut
akan tetap meng-hold CPU sampai proses
tersebut selesai memakainya (use) dan
kemudian me-release.
• Penjadwalan ini biasanya tidak bisa ditunda
(non-preemtion), harus run to completion

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 9


Preemtive Scheduling
• Preemtive scheduling adalah penjadwalan
yang bisa ditunda (preemption). Penjadwalan
seperti ini membutuhkan biaya yang tinggi,
karena harus selalu dilakukan perbaikan data.

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 10


Pertimbangan Penjadwalan Yang Baik

• CPU utilization (kinerja CPU).


• Throughput. .
• Turnaround time.
• Waiting time.
• Response time.
• Fairness.

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 11


Pertimbangan Penjadwalan Yang Baik

• CPU utilization (kinerja CPU). Penjadwalan proses dilakukan


dengan konsep agar CPU tidak pernah idle, artinya CPU
dibuat selalu sibuk. Utilitas CPU biasanya dinyatakan dalam
kisaran 0 - 100%, tetapi dalam kenyataannya berkisar antara
40 - 90%.
• Throughput. Adalah banyaknya proses (job) yang selesai
dikerjakan dalam satu quantum time (satuan waktu)
tertentu. Throughput akan besar jika CPU dibuat selalu
sibuk.

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 12


Pertimbangan Penjadwalan Yang Baik

• Turnaround time. Adalah banyaknya waktu yang diperlukan


untuk mengeksekusi proses, mulai dari menunggu untuk
meminta tempat di memori utama, menunggu di ready
queue, eksekusi oleh CPU, dan mengerjakan I/O.
• Waiting time. Adalah waktu yang diperlukan suatu proses
untuk menunggu di ready queue. Waiting time ini tidak
dipengaruhi eksekusii proses dan penggunaan I/O.

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 13


Pertimbangan Penjadwalan Yang Baik

• Response time. Adalah waktu yang


dibutuhkan oleh suatu proses dari minta
dilayani hingga ada respon pertama yang
menanggapi permintaan tersebut.
• Fairness. Penjadwalan harus adil, artinya
bahwa tiap-tiap proses akan mendapatkan
pembagian waktu untuk penggunaan CPU
secara adil (fair).

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 14


Pertimbangan Penjadwalan Yang Baik

• Pertimbangan selanjutnya untuk membuat


algoritma penjadwalan CPU yang baik adalah
adalah membandingkan rata-rata waktu
tunggu (Average Waiting Time = AWT), yaitu
total waktu tunggu untuk semua proses dibagi
dengan banyaknya proses.

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 15


Algoritma Penjadwalan
1) First-Come First-Served Scheduling (FCFS)
2) Shortest Job First (SJF)
3) Priority Scheduling
4) Round-Robin Scheduling (R.R.S)
5) Multilevel Queue Scheduling
6) Multi Level Feedback Queue Scheduling
7) Guaranteed Scheduling

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 16


First-Come First-Served (FCFS)

• Proses diberi jatah waktu pemroses


(CPU) berdasarkan kedatangannya, dan
proses dijalankan sampai selesai, proses
yang duluan tiba atau pertama kali
meminta layanan menggunakan CPU
akan dilayani terlebih dahulu

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 17


First-Come First-Served (FCFS)
• Algoritma FCFS termasuk non-preemptive
(tidak bisa ditunda, harus run to completion)
• Sekali CPU dialokasikan pada suatu proses
tersebut, maka akan tetap memakai CPU
sampai proses tersebut selesai (berhenti) atau
meminta layanan I/O.

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 18


First-Come First-Served (FCFS)

Proses Burst Time


(ms)
P1 30
P2 8
P3 6

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 19


First-Come First-Served (FCFS)

• GANT CHART

P1 P2 P3

30 38 44

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 20


First-Come First-Served (FCFS)

Proses Waiting Time (ms)


P1 0
P2 30
P3 38

AWT = (0+30+38)/3 = 22,66 ms. Berbeda jika urutan


kedatangan proses adalah P2, P3, baru P1.

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 21


FCFS
• Proses yg tiba lebih dahulu akan dilayani
lebih dahulu
• Kalau ada proses tiba pada waktu yg sama,
maka pelayanan mereka dilaksanakan
melalui urutan mereka dlm antrian
• Proses di antrian belakang harus menunggu
sampai semua proses di depannya selesai.
FCFS
• Contoh soal 1:
– Jika diketahui terdapat 5 macam antrian proses, yaitu A-B-
C-D-E dengan waktu kedatangan semuanya 0. Lama proses
berturut-turut antara lain: 5-2-6-8-3.
– Pertanyaan:
• Kapan dimulainya eksekusi dari tiap-tiap antrian proses tsb?
• Kapan selesai eksekusinya?
• Hitung Turn Arround Time (TA)-nya?
• Berata rata-rata TA?
• Rumus
– TA = Waktu Tunggu + Lama Eksekusi
– Rata-rata TA = ∑TA / ∑Job
– Waktu Tunggu = Mulai Eksekusi – Waktu Tiba
FCFS
• Jawaban:

Nama Waktu Lama


Proses Tiba Eksekusi
A 0 5
B 0 2
C 0 6
D 0 8
E 0 3
FCFS
Nama Waktu Lama Mulai Waktu Selesai TA
Proses Tiba Ekseku Ekseku Tunggu Ekseku
si si si
A 0 5 0 0 5 5
B 0 2 5 5 7 7
C 0 6 7 7 13 13
D 0 8 13 13 21 21
E 0 3 21 21 24 24
∑TA = 70
rata2 TA = 14
FCFS
• Contoh Soal 2:
– Jika diketahui terdapat 5 macam antrian proses, yaitu A-B-C-D-
E dengan waktu kedatangan semuanya 0-1-2-2-5. Lama proses
berturut-turut antara lain: 5-2-6-8-3.
– Pertanyaan:
• Kapan dimulainya eksekusi dari tiap-tiap antrian proses tsb?
• Kapan selesai eksekusinya?
• Hitung Turn Arround Time (TA)-nya?
• Berata rerata TA?
• Rumus
– TA = Waktu Tunggu + Lama Eksekusi
– Rerata TA = ∑TA / ∑Job
– Waktu Tunggu = Mulai Eksekusi – Waktu Tiba
FCFS
Nama Waktu Lama Mulai Selesai Waktu TA
Proses Tiba Eksekusi Eksekusi Eksekusi Tunggu

A 0 5 0 5 0 5
B 1 2 5 7 4 6
C 2 6 7 13 5 11
D 2 8 13 21 11 19
E 5 3 21 24 16 19
∑TA = 60
Rerata = 12
FCFS/FIFO
• Berdasarkan kriteria penilaian penjadwalan:
– Fairness
• Penjadwalan FIFO adil dalam arti semantiks (dalam arti
antrian)
– Efesiensi
• Penjadwalan FIFO sangat efisien dalam penggunaan
pemroses
– Waktu Tanggap
• Penjadwalan sgt tidak memuaskan, karena proses dpt
menunggu lama
– Turn Arround Time
• Penjadwalan FIFO tidak bagus
– Throughput
• Penjadwalan FIFO tidak bagus.
Shortest Job First (SJF)
• Proses yang memiliki CPU burst paling kecil
akan dilayani terlebih dahulu, dengan
mengasumsikan waktu proses (sampai selesai)
diketahui sebelumnya.
• Penjadwalan mempuyai efisiensi tinggi dan
turn arround time rendah (berarti bagus)

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 29


Shortest Job First (SJF)

• Ex. ada 4 proses: P1, P2, Pros Burst


P3, dan P4 yang es Time (ms)
meminta layanan CPU: P1 6
P2 8
P3 7
P4 3

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 30


Shortest Job First (SJF)
• Gant chart

P4 P1 P3 P2
0 3 9 16 24

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 31


Shortest Job First (SJF)
• Waktu tunggu untuk tiap-tiap proses

Proses Waiting Time (ms)


P1 3
P2 16
P3 9
P4 0
AWT = (3+16+9+0)/4 = 7 ms.

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 32


Shortest Job First (SJF)
• Panjang CPU burst yang diperkirakan
“Exponential Average”.

n + 1 =  tn + (1 -) n

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 33


Shortest Job First (SJF)
Dengan :
• n + 1= Perkiraan CPU burst
• n =Panjang CPU burst sebelumnya
• tn =Panjang CPU burst yang ke-n (yang
sedang berlangsung)
•  =Ukuran pembanding antara n + 1 dengan
n (0 sampai 1)

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 34


SJF -2-
• Contoh
Soal 1:

Nama Waktu Lama


Proses Tiba Eksekusi
A 0 10

B 0 5

C 0 7

D 0 1

E 0 3
SJF -3-
Nama Proses Waktu Tiba Lama
Eksekusi
D 0 1

E 0 3

B 0 5

C 0 7

A 0 10
SJF -4-
Nama Waktu Lama Mulai Selesai TA
Proses Tiba Eksekusi Eksekusi Eksekusi
D 0 1 0 1 1
E 0 3 1 4 4
B 0 5 4 9 9
C 0 7 9 16 16
A 0 10 16 26 26
∑TA = 56
rata2 TA = 11,2
SJF -5-
Nama Proses Lama Waktu Tiba
Eksekusi
D 1 0

E 3 2

B 5 5

C 7 7

A 10 9
SJF -6-
Nama Waktu Lama Mulai Selesai Waktu TA
Proses Tiba Eksekusi Eksekusi Eksekusi Tunggu

D 0 1 0 1 0 1
E 2 3 2 5 0 3
B 5 5 5 10 0 5
C 7 7 10 17 3 10
A 9 10 17 27 8 18
∑TA = 37
Rerata = 7,4
Priority Scheduling

• Bersifat preemptive atau non-preemptive.


• Jika proses P1 datang saat P0 sedang berjalan,
maka akan dilihat prioritas P1. Jika prioritas P1
> P0, maka pada non-preemptive , akan
menyelesaikan P0 sampai habis CPU burstnya,
dan meletakkan P1 pada head queue.
Sedangkan pada preemptive, maka P0 akan
dihentikan dulu, dan CPU dialokasikan untuk P1

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 40


Priority Scheduling
• Proses: P1 ,P2 ,P3 ,P4 dan P5 dengan CPU burst:

Proses Burst Time Prioritas


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

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 41


Priority Scheduling
• Gant chart:

P2 P5 P1 P3 P4

0 1 6 16 18 19

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 42


Priority Scheduling
• AWT:

Proses Waiting Time


P1 6
P2 0
P3 16
P4 18
P5 1

AWT = (6+0+16+18+1)/5 = 8.2 ms

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 43


Round-Robin Scheduling (R.R.S)
• Setiap proses quantum time yang sama
• Jika Quantum time habis, maka jatah
memakai CPU dialihkan ke proses lain.
• Jika quantum time belum habis, tapi proses
sudah selesai maka jatah memakai CPU diberi
ke proses lain.

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 44


Round-Robin Scheduling (R.R.S)
• P1, P2, dan P3, quantum-time : 4 ms

Proses Burst Time (ms)

P1 24

P2 3

P3 3

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 45


Round-Robin Scheduling (R.R.S)
• Gant chart:

P1 P2 P3 P1 P1 P1 P1 P1
0 4 7 10 14 18 22 26 30

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 46


Round-Robin Scheduling (R.R.S)
• AWT

Proses Waiting Time (ms)


P1 0+(10-4) =6
P2 4
P3 7
AWT = (6+4+7)/3 = 5.66 ms

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 47


Round-Robin Scheduling (R.R.S)
• Quantum time vs context switch
• R.R.S disatu sisi memiliki keuntungan, yaitu
adanya keseragaman waktu. Namun disisi lain,
RRS akan terlalu sering melakukan switching
• Makin kecil quantum-timenya maka switching
yang akan terjadi akan semakin besar

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 48


Multilevel Queue Scheduling (MQS)

• MQS ini adalah membagi beberapa proses


dalam beberapa kelompok queue.
• Tiap kelompok dikerjakan dengan algoritma
penjadwalan yang berbeda.
• Pada algoritma ini, ready queue dibagi
menjadi beberapa queue secara terpisah

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 49


Multi Level Feedback Queue Scheduling

• Algoritma ini hampir sama dengan algoritma


penjadwalan multilevel queue, hanya saja
suatu proses yang berada pada satu queue
dapat berpindah ke queue lain
• Jika proses akan menggunakan CPU dalam
jangka waktu yang cukup lama, maka proses
tersebut dapat berpindah ke queue dengan
prioritasnya yang lebih rendah

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 50


Multi Level Feedback Queue Scheduling

• Sebaliknya jika suatu proses terlalu lama


menunggu pada prioritas yang lebih rendah,
maka proses tersebut dapat berpindah ke
queue dengan prioritasnya yang lebih tinggi

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 51


Guaranteed Scheduling
• Algoritma penjadwalan harus menjamin
bahwa algoritma tersebut mempunyai kinerja
yang cukup tinggi dan menjanjikan
kelangsungan hidup (masa depan) yang baik.
• Salah satu contoh: misalkan ada n user yang
sedang login, maka tiap-tiap user dijanjikan
akan menerima 1/n dari kemampuan CPU.

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 52


Guaranteed Scheduling
• Untuk meyakinkan bahwa setiap user
mendapatkan jatah waktu menggunakan CPU
sesuai dengan haknya, maka sistem harus tahu
berapa CPU time yang diperlukan oleh setiap
proses dalam satu user, dan juga CPU time
yang diperlukan untuk tiap-tiap user

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 53


Guaranteed Scheduling
• Misalkan ada 5 user (A, B, C, D, dan E)

User CPU Time (ms)


A 5
B 4
C 8
D 1
E 2

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 54


Guaranteed Scheduling
• Total waktu yang dibutuhkan untuk mengakses kelima user
tersebut adalah 20 ms. Sehingga diharapkan setiap user
mendapatkan 20/5 = 4 ms.
• Pada kenyataannya, mulai dari login s/d saat ini, tiap user
telah mendapatkan CPU seperti terlihat pada Tabel berikut,
dan rasio antara CPU yang diperoleh s/d saat ini (aktual)
dengan CPU yang seharusnya diperoleh (4ms) dapat dicari

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 55


Guaranteed Scheduling
• CPU time untuk 5 user

User CPU Aktual (ms) Rasio


A 3 ¾ =0.75
B 6 6/4=1.5
C 2 2/4=0.5
D 1 ¼=0.25
E 1 ¼=0.25

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 56


Guaranteed Scheduling
• A memiliki rasio 0.75, artinya A baru
mendapatkan 3/4 dari jatahnya.
• B memiliki rasio 1.5, artinya B telah
mendapatkan 1.5 waktu dari jatahnya.
• Algoritma akan menjalankan proses dengan
rasio yang paling rendah terlebih dahulu
hingga proses tersebut mendapatkan rasio
melebihi rasio proses yang sebelumnya punya
rasio satu tingkat lebih tinggi darinya

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 57


Guaranteed Scheduling
• Dengan cara ini juga suatu proses yang butuh
waktu 10 detik akan mendapatkan prioritas
yang lebih tinggi dibandingkan dengan proses
yang butuh waktu 10 menit

Dr. P.Sihombing, M.Kom. SISTEM OPERASI 58


Dr. P.Sihombing, M.Kom. SISTEM OPERASI 59

Anda mungkin juga menyukai