Posted by : Unknown
Jan 12, 2015
Selamat Malam gan
saya akan melanjutkan post yang kemarin yaitu :
PENJADWALAN PROSES II
dibawah berikut adalah bagian dari materi Penjadwalan Proses II
- Priority Scheduling
- Round Robin
- Multilevel Queue
- Multilevel Feedback Queue
prioritas suatu proses dapat ditentukan melalui
beberapa karakteristik antara lain:
- Time limit.
- Memory requirement.
- Akses file.
- Perbandingan antara I/O Burst dengan CPU Burst.
- Tingkat kepentingan proses.
- 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.
- non-preemptive, proses yang baru datang tidak dapat menganggu proses yang sedang berjalan, tetapi hanya diletakkan di depan queue.
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.
- Exp: 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.
Algoritma ini menggilir proses yang ada di antrian.
Proses akan mendapat jatah sebesar time quantum.
- Jika time quantum-nya habis atau proses sudah selesai, CPU akan dialokasikan ke proses berikutnya.
Contoh membuat Round Robin:
Sebuah CPU dengan quantum 4 mendapat beberapa proses
sebagai berikut:
sekarang akan masuk tahap ke 3 yaitu : Multilevel Queue.
Ide dasar dari algoritma ini adalah berdasarkan pada sistem prioritas proses.Prinsipnya adalah, jika setiap proses dapat dikelompokkan berdasarkan prioritasnya, maka akan didapati queue.
Nah cukup sampai disini gan
saya akan melanjutkan materi selanjutnya di post berikutnya
Langkah ke 1 : Buat Gantt Chart
Langkah ke 2 : Menghitung AWT(Average Waiting Time)
AWT yang terjadi adalah
( 0 + 18
+ 19 + 21 + 16 ) / 5 = 74 / 5 = 14,8
Langkah Ke 3 : Menghitung ATAT(Average Turn Around)
Contoh ke 2 dengan waktu kedatangan berbeda :
Langkah ke 1 : Buat Gantt Chart
Langkah ke 2 : Menghitung AWT(Average Waiting Time)
AWT yang terjadi adalah:
(6+3+10+3+8)/5 = 30/5 = 6
Langkah Ke 3 : Menghitung ATAT(Average Turn Around)
Kelemahan
- Permasalahan
utama adalah menentukan besarnya time quantum.
- Jika time
quantum yang ditentukan terlalu kecil, maka sebagian besar proses tidak akan
selesai dalam 1 time quantum.
- Hal ini tidak baik karena akan terjadi banyak switch, padahal CPU memerlukan waktu untuk beralih dari suatu proses ke proses lain (context switches time).
- Jika time quantum terlalu besar, algoritma Round Robin
akan berjalan seperti algoritma First Come First Served.
sekarang akan masuk tahap ke 3 yaitu : Multilevel Queue.
Ide dasar dari algoritma ini adalah berdasarkan pada sistem prioritas proses.Prinsipnya adalah, jika setiap proses dapat dikelompokkan berdasarkan prioritasnya, maka akan didapati queue.
Dari gambar, terlihat bahwa akan terjadi
pengelompokan-pengelompokan proses-proses berdasarkan prioritasnya.
Kemudian muncul ide untuk menganggap kelompok-kelompok
tersebut sebagai sebuah antrian-antrian kecil yang merupakan bagian dari
antrian keseluruhan proses, yang sering disebut dengan algoritma multilevel
queue.
dan Kelemahannya:
algoritma ini pun memiliki kelemahan yang sama dengan
priority scheduling, yaitu suatu proses pada queue dengan prioritas rendah bisa
saja tidak mendapat jatah CPU.
Untuk mengatasinya, memodifikasi algoritma ini dengan
adanya jatah waktu maksimal untuk tiap antrian,
- jika antrian memakan terlalu banyak waktu, maka prosesnya akan dihentikan dan digantikan oleh antrian dibawahnya (batas waktu untuk tiap antrian bisa berbeda tergantung pada prioritas masing-masing antrian).
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 proses yang menunggu terlalu lama. Proses ini akan dinaikkan tingkatannya.
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
Nah cukup sampai disini gan
saya akan melanjutkan materi selanjutnya di post berikutnya