- Back to Home »
- algoritma penjadwalan
Posted by : Unknown
Minggu, 22 Maret 2015
Algorima
ini merupakan proses antrian, yang mana proses akan mendapatkan jatah
waktu sebesar time quantum. Jika waktu quantumnya selesai maka prosesnya
pun selesai. Proses ini merupakan proses yang adil karena tidak ada
proses yang didahulukan, semua proses mendapatkan jatah waktu yang sama
yaitu 1/n.
Permasalahan
utama pada Round Robin adalah menentukan besarnya time quantum. Jika
time quantum yang ditentukan terlalu kecil, maka sebagian besar proses
tidak akan selesai dalam 1 quantum. Hal ini tidak baik karena akan
terjadi banyak switch, padahal CPU memerlukan waktu untuk beralih dari
suatu proses ke proses lain (disebut dengan context switches time).
Sebaliknya, jika time quantum terlalu besar, algoritma Round Robin akan
berjalan seperti algoritma first come first served yang mana yang dating
dahulu akan dilayani terlebih dahulu.Time quantum yang ideal adalah
jika 80% dari total proses memiliki CPU burst time yang lebih kecil dari
1 time quantum.
Gambar Urutan Kejadian Algoritma Round Robin
Multiple Feedback Queue (MFQ)
Algoritma
ini merupakan algoritma yang mengizinkan proses untuk pindah antrian.
Jika suatu proses menyita CPU terlalu lama, maka proses itu akan
dipindahkan ke antrian yang lebih rendah. Hal ini akan sangat
menguntungkan karena akan menggunakan waktu yang sedikit dalam
pengerjaan proses-proses tersebut. Demikian pula dengan proses yang
menunggu lama maka prose ini akan dinaikkan ke tingkat yang lebih
tinggi. Dengan begitu CPU akan bekerja dengan penuh dan M/K dapat terus
sibuk. Semakin rendah tingkatnya, panjang CPU burst proses juga semakin
panjang.
Gambar Multilevel Feedback Queue
Shortest Remaining First (SRF)
Pada algoritma ini setiap proses yang ada di ready queue akan dieksekusi berdasarkan burst time terkecil. Hal ini mengakibatkan waiting time yang pendek untuk setiap proses dan karena hal tersebut maka waiting time rata-ratanya juga menjadi pendek, sehingga dapat dikatakan bahwa algoritma ini adalah algoritma yang optimal.
Contoh: Ada 4 buah proses yang datang berurutan yaitu P1 dengan arrival time pada 0.0 ms dan burst time 7 ms, P2 dengan arrival time pada 2.0 ms dan burst time 4 ms, P3 dengan arrival time pada 4.0 ms dan burst time 1 ms, P4 dengan arrival time pada 5.0 ms dan burst time 4 ms. Hitunglah waiting time rata-rata dan turnaround time dari keempat proses tersebut dengan mengunakan algoritma SJF. Average waiting time rata-rata untuk ketiga proses tersebut adalah sebesar (0 +6+3+7)/4=4 ms.
Higest Ratio Next (HRN)
Higest Ratio Next (HRN) Merupakan penjadwalan untuk mengoreksi kelemahan SJF yang berprioritas
dinamis. HRN Adalah strategi penjadwalan dengan prioritas proses tidak
hanya merupakan fungsi waktu layanan,tetapi juga jumlah waktu tunggu
proses. Begitu proses mendapat jatah pemroses, maka proses berjalan
sampai selesai. Prioritas dinamis HRN dihitung berdasarkan rumus berikut
: Prioritas = (waktu tunggu + waktu layanan ) / waktu layanan. Karena
waktu layanan muncul sebagai pembagi, maka job lebih pendek berprioritas
lebih baik, karena waktu tunggu sebagai pembilang, maka proses yang
telah menunggu lebih lama juga mempunyai kesempatan lebih bagus. Mengapa
algoritma ini disebut HRN karena waktu tunggu ditambah waktu layanan
adalah waktu tanggap, yang berarti waktu tanggap tertinggi yang harus
dilayani.
Priority Schedulling (PS)
Priority
Scheduling merupakan algoritma penjadwalan yang mendahulukan proses
yang memiliki prioritas tertinggi. Setiap proses memiliki prioritasnya
masing-masing.
Prioritas suatu proses dapat ditentukan melalui beberapa karakteristik antara lain:
1. Time limit.
2. Memory requirement.
3. Akses file.
4. Perbandingan antara burst M/K dengan CPU burst.
5. Tingkat kepentingan proses.
Priority
scheduling juga dapat dijalankan secara preemptive maupun non
preemptive. Pada preemptive, jika ada suatu proses yang baru datang
memiliki prioritas yang lebih tinggi daripada proses yang sedang
dijalankan, maka proses yang sedang berjalan tersebut dihentikan, lalu
CPU dialihkan untuk proses yang baru datang tersebut. Sementara itu,
pada non-preemptive, proses yang baru datang tidak dapat menganggu
proses yang sedang berjalan, tetapi hanya diletakkan di depan queue.
Kelemahan
pada priority scheduling adalah dapat terjadinya indefinite blocking(
starvation). Suatu proses dengan prioritas yang rendah memiliki
kemungkinan untuk tidak dieksekusi jika terdapat proses lain yang
memiliki prioritas lebih tinggi darinya. Solusi dari permasalahan ini
adalah aging, yaitu meningkatkan prioritas dari setiap proses yang
menunggu dalam queue secara bertahap. Contoh: Setiap 10 menit, prioritas
dari masing-masing proses yang menunggu dalam queue dinaikkan satu
tingkat. Maka, suatu proses yang memiliki prioritas 127, setidaknya
dalam 21 jam 20 menit, proses tersebut akan memiliki prioritas 0, yaitu
prioritas yang tertinggi (semakin kecil angka menunjukkan bahwa
prioritasnya semakin tinggi).
Guaranteed Scheduling (GS)
Penjadwalan
ini memberikan janji yang realistis (memberi daya pemroses yang sama)
untuk membuat dan menyesuaikan performance adalah jika ada N pemakai,
sehingga setiap proses (pemakai) akan mendapatkan 1/N dari daya pemroses
CPU. Untuk mewujudkannya, sistem harus selalu menyimpan informasi
tentang jumlah waktu CPU untuk semua proses sejak login dan juga berapa
lama pemakai sedang login. Kemudian jumlah waktu CPU, yaitu waktu mulai
login dibagi dengan n, sehingga lebih mudah menghitung rasio waktu CPU.
Karena jumlah waktu pemroses tiap pemakai dapat diketahui, maka dapat
dihitung rasio antara waktu pemroses yang sesungguhnya harus diperoleh,
yaitu 1/N waktu pemroses seluruhnya dan waktu pemroses yang telah
diperuntukkan proses itu. Rasio 0,5 berarti sebuah proses hanya punya
0,5 dari apa yang waktu CPU miliki dan rasio 2,0 berarti sebuah proses
hanya punya 2,0 dari apa yang waktu CPU miliki. Algoritma akan
menjalankan proses dengan rasio paling rendah hingga naik ketingkat
lebih tinggi diatas pesaing terdekatnya. Ide sederhana ini dapat
diimplementasikan ke sistem real-time dan memiliki penjadwalan
berprioritas dinamis.
semoga bermanfaat