A. Definisi 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.
B. 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.
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.
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 tiap- tiap 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 rata- rata (mean lateness) atau ukuran kelambatan
rata-rata (mean tardiness).
0 Response to "PENJADWALAN PROSES"
Posting Komentar