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
  1. Priority Scheduling
  2. Round Robin
  3. Multilevel Queue
  4. Multilevel Feedback Queue
nah saya akan membahas yang pertama yaitu Priority Scheduling. apa kaliah tahu apa itu Priority Sceduling? Priority Scheduling adalah merupakan algoritma penjadwalan yang mendahulukan proses yang memiliki prioritas tertinggi dan setiap proses memiliki prioritas masing-masing.
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.
Priority Scheduling juga dapat dijalankan secara preemptive maupun non-preemptive.
  • 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.
Kelemahan:
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.
  •  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. 
Selanjutnya Tahap ke 2 yaitu Round Robin.Apa kalian apa itu Round Robin?
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.
proses ini cukup adil karena tak ada proses yang diprioritaskan, semua proses dapat jatah waktu yang sama dari CPU.
Contoh membuat Round Robin:
Sebuah CPU dengan quantum 4 mendapat beberapa proses sebagai berikut:
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).
selanjutnya masuk tahap terakhir yaitu : 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 proses yang menunggu terlalu lama. Proses ini akan dinaikkan tingkatannya.
Biasanya prioritas tertinggi diberikan kepada proses dengan CPU burst terkecil, dengan begitu CPU akan terutilisasi 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

Nah cukup sampai disini gan
saya akan melanjutkan materi selanjutnya di post berikutnya

Leave a Reply

Subscribe to Posts | Subscribe to Comments

Welcome to My Blog

Pages

Total Pageviews

- Copyright © Science Krisna -Robotic Notes- Powered by Blogger - Designed by Johanes Djogan -