1. FCFS / FIFO adalah Algoritma ini
merupakan algoritma penjadwalan yang paling sederhana yang digunakan CPU.
Dengan menggunakan algoritma ini seiap proses yang berada pada status ready dimasukkan
ke dalam antrian FIFO sesuai dengan waktu kedatangannya. Proses yang tiba
terlebih dahulu yang akan dieksekusi terlebih dahulu. Misalnya ada tiga buah
proses yang datang secara bersamaan yaitu pada 0 ms, P1 memiliki burst time 24
ms, P2 memiliki burst time 5 ms, P3 memiliki burst time 3 ms.
Hitunglah wating time rata-rata dan turnaround time (burst time + waiting
time) dari ketiga proses tersebut dengan menggunakan algoritma FCFS.
Ø Kelebihan
:
algoritma yang paling sederhana, dengan skema proses yang meminta CPU mendapat prioritas.
algoritma yang paling sederhana, dengan skema proses yang meminta CPU mendapat prioritas.
Ø Kelemahan:
a. Waiting time rata-ratanya
cukup lama.
b.
Terjadinya convoy effect, yaitu proses-proses menunggu lama untuk menunggu
satu proses besar yang sedang dieksekusi oleh CPU.
2. SJF (Shortest-Job
First) adalah Algoritma
ini mempunyai cara penjadwalan yang berbeda dengan FCFS. Dengan algoritma ini
maka setiap proses yang ada di antrian ready 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.
Ø Kelebihan :
paling optimal, karena algoritma ini
memberikan minimum waiting time untuk kumpulan proses yang mengantri
Ø kekurangan:
•
Kesulitan untuk memprediksi burst time proses yang akan dieksekusi selanjutnya
.
•
Proses yang mempunyai burst time yang besar akan memiliki waiting time
yang besar pula karena yang dieksekusi terlebih dahulu adalah proses dengan burst
time yang lebih kecil.
3.
Priority
Ø Kelemahan :
Dapat terjadinya indefinite blocking (starvation)
yaitu 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 antrian secara bertahap.
4.
RR (Round Robin)
Ø Kelebihan:
- Tak ada proses yang
diprioritaskan
Ø Kelemahan:
- Tergantung pada time quantum. Jika terlalu besar,
algoritma ini akan sama sajadengan algoritma
first come first served. Jika terlalu kecil, akan semakin
banyakperalihan proses sehingga banyak waktu terbuang.
- Jika
Time quantum yang ditentukan terlalu kecil, maka sebagian besar prosestidak
akan selesai dalam 1 quantum
5.
Multilevel
Queue
Ide dasar dari algoritma
ini adalah berdasarkan pada sistem prioritas proses. Prinsipnya adalah, jika
setiap proses dapat dikelompokkan berdasarkan prioritasnya. Dari gambar
tersebut terlihat bahwa akan terjadi pengelompokan-pengelompokan proses-proses
berdasarkan prioritasnya. Kemudian muncul gagasan untuk menganggap
kelompok-kelompok tersebut sebagai sebuah antrian-antrian kecil yang merupakan
bagian dari antrian keseluruhan proses, yang sering disebut dengan algoritma
multilevel queue.
Dalam hal ini dapat
dilihat bahwa seolah-olah algoritma dengan prioritas yang dasar adalah
algoritma multilevel queue dimana setiap antrian akan berjalan dengan algoritma
FCFS dan dapat diketahui bahwa algoritma FCFS memiliki banyak kelemahan, oleh
karena itu dalam prakteknya, algoritma multilevel queue memungkinkan adanya
penerapan algoritma internal dalam masing-masing sub-antriannya untuk
meningkatkan kinerjanya, dimana setiap sub-antrian bisa memiliki algoritma
internal yang berbeda Berawal dari priority scheduling, algoritma ini pun
memiliki kelemahan yang sama dengan priority scheduling, yaitu sangat mungkin
bahwa suatu proses pada queue dengan prioritas rendah bisa saja tidak mendapat
jatah CPU. Untuk mengatasi hal tersebut, salah satu caranya adalah dengan
memodifikasi algoritma ini dengan adanya jatah waktu maksimal untuk tiap
antrian, sehingga jika suatu antrian memakan terlalu banyak waktu, maka prosesnya
akan dihentikan dan digantikan oleh antrian dibawahnya, dan tentu saja batas
waktu untuk tiap antrian bisa saja sangat berbeda tergantung pada prioritas
masing-masing antrian.
6.
Multilevel
feedback Queue
Algoritma
ini mirip sekali dengan algoritma Multilevel Queue. Perbedaannya ialah
algoritma ini mengizinkan proses untuk pindah antrian. Jika suatu proses
menyita CPU terlalu lama, maka proses itu akan dipindahkan ke antrian yang
lebih rendah. Ini menguntungkan proses interaksi, karena proses ini hanya
memakai waktu CPU yang sedikit. Demikian pula dengan proses yang menunggu
terlalu lama. Proses ini akan dinaikkan tingkatannya. Biasanya prioritas tertinggi
diberikan kepada proses dengan CPU burst terkecil, dengan begitu CPU akan
dimanfaatkan penuh dan I/O dapat terus sibuk. Semakin rendah tingkatannya,
panjang CPU burst proses juga semakin besar.
Algoritma ini didefinisikan melalui beberapa parameter, antara lain:
• Jumlah antrian
• Algoritma penjadwalan tiap antrian
• Kapan menaikkan proses ke antrian yang lebih tinggi
• Kapan menurunkan proses ke antrian yang lebih rendah
• Antrian mana yang akan dimasuki proses yang membutuhkan
Algoritma ini didefinisikan melalui beberapa parameter, antara lain:
• Jumlah antrian
• Algoritma penjadwalan tiap antrian
• Kapan menaikkan proses ke antrian yang lebih tinggi
• Kapan menurunkan proses ke antrian yang lebih rendah
• Antrian mana yang akan dimasuki proses yang membutuhkan
algoritma
ini dapat digunakan secara fleksibel dan diterapkan sesuai dengan kebutuhan
sistem. Pada masa sekarang ini algoritma multilevel feedback queue adalah
salah satu yang paling banyak digunakan
Makasih atas ilmunya, sangat bermanfaat
BalasHapusKunjungi
Terima kasih atas sharingnya, sangat bermanfaat https://mukharom.com
BalasHapusmakasih sudah share
BalasHapuspinset 3in1