Penjadwalan Proses Sistem Operasi Komput (1)

Nama : ANDI ZUHAERI
Nim

: 60900111011

Kelas : B1 Sistem Informasi
PENJADWALAN PROSES
Penjadwalan proses adalah kumpulan kebijasanaan dan mekanisme pada
sistem operasi berkenaan dengan urutan kerja yang dilakukan sistem komputer.
Penjadwalan bertugas memutuskan proses yang harus berjalan, kapan, dan selama
berapa lama proses itu berjalan.
Agoritma penjadwalan interaktif:
1. Round Robin
Merupakan salah satu algoritma penjadwalan yang paling sederhana untuk
proses dalam sistem operasi. Seperti umumnya istilah ini digunakan, irisan waktu
ditugaskan untuk setiap proses pada porsi yang sama dan dalam urutan melingkar,
menjalankan semua proses tanpa prioritas (dikenal juga sebagai eksekutif siklik).
Penjadwalan round-robin itu sederhana, mudah diterapkan, dan bebas starvation.
Penjadwalan round-robin juga dapat diterapkan untuk masalah penjadwalan
lainnya, seperti penjadwalan paket data dalam jaringan komputer.
Algoritma round robin dirancang untuk sistem time sharing. Algoritma ini

mirip dengan penjadwalan FCFS (First Come First Served), namun preemption
ditambahkan untuk switch (peralihan proses) antara proses. Antrian ready
diperlakukan atau dianggap sebagai antrian sirkular. CPU menglilingi antrian
ready dan mengalokasikan masing-masing proses untuk interval waktu tertentu
sampai satu time slice /quantum.
Algoritma ini berjalan dengan menggilir proses yang ada pada antrian.
Setiap Proses akan mendapat jatah sebesar time quantum. Jika time quantum-nya

habis atau proses sudah selesai, CPU akan dialihkan ke proses yang selanjutnya.
Tentu proses ini cukup adil karena tak ada proses yang diprioritaskan, semua
proses mendapat jatah waktu yang sama dari CPU yaitu (1/n), dan tak akan
menunggu lebih lama dari (n-1)q dengan q adalah lama 1 quantum. Contoh:
Diketahui : RR – FCFS dengan kuantum = 3
Proses
Arrival Time
P1
P2
P3
P4
P5


0
2
3
5
9

Burst
Time
10
8
12
5
1

Waktu tunggu untuk masing-masing proses diatas adalah :
P1 = 0 + ( 9 + 3 ) + ( 20 + 12 ) + ( 25 – 23 ) = 16
P2 = ( 3 – 2 ) + ( 14 – 6 ) + ( 23 + 17 ) = 15
P3 = ( 6 – 3 ) + ( 18 – 9 )
= 12

P4 = ( 12 – 5 )
=17
P5 = ( 17 - 9 )
=8 +
= 58

Waktu tunggu rata-rata = 58/5 = 11,6 satuan waktu
2. Berbasis prioritas
Tiap-tiap proses dilengkapi dengan nomor prioritas (integer). Jika
beberapa proses memiliki prioritas yang sama, maka akan digunakan algoritma
FCFS. Jika ada proses P1 yang datang pada saat P0 sedang berjalan, maka akan

dilihat prioritas P1. Seandaynya prioritas P1 lebih besar dibanding dengan
prioritas P0,

disebut

algoritama

non-preemptive,


algoritma tetap akan

menyelesaikan P0 sampai habis CPU burst-nya, dan meletakkan P1 pada head
quence. Sedangkan pada preemptive, P0 akan dihentikan dulu, dan CPU ganti
dialokasikan untuk P1. Misalnya terdapat lima proses P1,P2,P3, dan P4 yang
datang secara berurutan dengan CPU burst dengan milidetik.
Penjadwalan dengan prioties preemptive berdasarkan prioritas size yang lebih
besar.
Contoh:
Proses

Arrival Time

P1
P2
P3
P4

0

2
3
5

Burst
Time
10
8
12
5

Size (kb)
100 kb
150 kb
175 kb
100 kb

Waiting time dari proses diatas adalah sebagai berikut :
P1 = 0 + ( 22 + 2 )
= 20

P2= ( 2 – 2 ) + ( 15 + 3 )
= 12
P3= ( 3 – 3 )
=0
P4= ( 30 - 5 )
= 25 +
= 57

Waktu tunggu rata-rata = 57/4 = 14,25 satuan waktu
3. Multi Queue & Multi level Feedback
Penjadwalan dengan menggunakan algoritma multilevel feedback queue sama
dengan algoritma pada penjadwalan multilevel queue, pada penjadwalan feedback

queue suatu proses yang dapat berpindah antar berbagai queue; aging dapat
diterapkan dengan cara ini. Multilevel-Feedback Queue Scheduler digambarkan
oleh parameter berikut:
 Jumlah queue
 Scheduling algoritma untuk tiap queue
 Metode yang digunakan untuk memutuskan ketika upgrade suatu proses
 Metode yang digunakan untuk memutuskan ketika menurunkan suatu proses

 Metode yang digunakan untuk menentukan queue mana yang akan diproses
ketika proses membutuhkan service
Contoh dari Multivel Feedback Queue
Tiga queue:
·

Q0- time quantum 8 miliseconds

·

Q1- time quantum 16 miliseconds

·

Q2- FCFS

Scheduling
Pekerjaan baru masuk queue Q0 yang dilayani FCFS. Ketika memperoleh CPU,
pekerjaan menerima 8 seperseribu detik. Jika tidak selesai dalam 8 seperseribu
detik, pekerjaan dipindah ke queue Q1.

·

Pada Q1 pekerjaan dilayani FCFS dan menerima 16 seperseribu detik tambahan .
Jika masih belum lengkap, maka di-preempted dulu dan dipindah ke queue Q2.
Proses multilevel feedback queue scheduling juga bisa dilakukan dengan cara
lebih adil, dengan menggunakan tiga metode:
·

Menggunakan algoritma RR dengan quantum 5

·

Menggunakan algoritma RR dengan quantum 10

·

Menggunakan algoritma FCFS

Seluruh proses dikerjakan dengan algoritma RR dengan quantum 5 jika proses
tidak selesai, proses dikembalikan ke ready queue dan urutan proses diletakkan di

bagian terakhir dari proses yang ada untuk diproses. Setelah proses dengan waktu
kedatangan proses lain selesai, baru diproses kembali dengan algoritma RR
dengan quantum 10. Jika masih belum selesai, maka proses akan dikerjakan
dengan algoritma FCFS sampai semua proses selesai.

4. Guaranted Scheduling
Algoritma penjadwalan ini memberikan daya pemroses yang sama untuk
membuat dan menyesuaikan kinerja. Algoritma yang memiliki kinerja yang cukup
bagus akan menjanjikan kelangsungan yang baik pula. Misalnya ada X pemakai,
maka setiap proses atau pemakai akan mendapatkan 1/X dari daya pemroses CPU.
Untuk mewujudkannya, system harus selalu menyimpan informasi tentang jumlah
waktu CPU untuk semua proses sejak login dan juga harus selalu menyimpan
informasi tentang berapa lama pemakai sedang login. System harus tahu berapa
CPU time untuk meyakinkan bahwa setiap pengguna mendapatkan jatah waktu
menggunakan CPU sesuai haknya dan juga berapa CPU time yang diperlukan
oleh setiap proses 1 pengguna serta berapa CPU time yang diperlukan oleh tiaptiap pengguna.
Misalkan ada 5 pengguna, seperti pada table berikut:
Pengguna

CPU Time


A

5

B

4

C

8

D

1

E

2

Total waktu yang digunakan untuk mengakses kelima pengguna tersebut

adalah 20ms, sehingga diharapkan tiap pengguna mendapatkan 20/5=4 ms.
Kenyataannya, mulai sejak login sampai saat ini tiap-tiap pengguna telah
mendapatkan CPU seperti pada table berikut. Rasio antara CPU yang diperoleh
sampai saat ini (actual) dengan CPU tang seharusnya diperoleh (4 ms) dapat dicari
dengan:

Pengguna

CPU Aktual

Rasio

A

3

3/4=0.75

B

6

6/4=1.5

C

2

2/4=0.5

D

1

1/4=0.25

E

1

1/4=0.25

Dapat dilihat bahwa Pengguna A memiliki rasio 0.75, artinya A baru
mendapatkan ¾ dari jatah waktu yang seharusnya diterima. Pengguna B memiliki
rasio 1.5, artinya B mendapatkan 1.5 waktu dari jatah yang seharusnya
didapatkan. Algoritma ini menjalankan proses dengan rasio yang paling rendah
dulu sampai proses tersebut mendapatkan rasio melebihi rasio proses yang
sebelumnya mempunyai rasio satu tingkat labih tinggi darinya.
5. Lottery Scheduling
Algoritma ini termasuk Algoritma Penjadwalan Interaktif, biasanya
preemptive. Waktu eksekusi dibagi dalan kuantum (interval waktu) dan keputusan
penjadwalan dibuat pada awal setiap kuantum. Dalam performnya memiliki waktu
respon minimum. Dan penjadwalan Lottery ini lebih umum digunakan.
Berdasarkan probabilitasnya tiap proses diberikan tiket undian, pada saat
penjadwalan tiket dipilih secara acak dan proses yang memiliki tiket akan
dialokasiakn CPU duluan. Proses yang memiliki prioritas lebih tinggi akan
memiliki banyak tiket pula.
Keuntungan dari algoritma penjadwalan ini antara lain, sederhana, sangat
responsive, dapat mendukung kerjasama antarproses dan mudah untuk
mendukung kebutuhan prioritas dan proporsionalitas seperti yang kita tahu
algoritma ini memiliki proporsional terbaik.
6. Fair Sharing Scheduling

Algoritma ini juga termasuk Algoritma Penjadwalan Interaktif yang
bersifat preemptive yang dalam performnya memiliki proporsional terbaik dan
waktu respon yang minimum. Waktu eksekusi dibagi dalam kuantum (interval
waktu) dan keputusan penjadwalan dibuat pada awal setiap kuantum.
Pada algoritma penjadwalan Round Robin cukup adil dari sudut pandang
proses tapi mungkin tidak dari sudut pandang user. Oleh karena itu, algoritma
penjadwalan Fair-Share Scheduling tiap user mendapatkan jatah secara adil
karena Fair-Share berbasis user. Misalnya: X memiliki 4 proses yaitu A1, A2, A3
dan A4 sadangkan Y hanya memiliki proses B1. Maka berdasarkan algoritma ini,
A1, A2, A3 dan A4 berempat berhak mendapatkan 50% atas waktu CPU.
Begitupula dengan B1, berhak mendapatkan 50% atas waktu CPU.
7. Shortest Process Time
Pada algoritma penjadwalan Shortest proccess untuk meminimasi
waktu alir rata-rata (mean flow time) dan meinimasi kelambatan rata-rata
(mean lateness) pada sebuah prosesor tunggal yang harus mengerjakan
sekumpulan pekerjaan.
Walaupun penjadwalan satu prosesor tidak akan berpengaruh
terhadap besarnya makespan, tetapi pengurutan pekerjaan akan sangat
berpengaruh pada waktu alir rata-rata (mean flow time), kelambatan ratarata (mean lateness) atau ukuran kelambatan rata-rata (mean tardiness)