Friday, November 7, 2014

Priority Scheduling
           Merupakan algoritma penjadwalan yang mendahulukan proses yang memiliki prioritas tertinggi, setiap proses memiliki prioritasnya masing-masing.
Karakteristik Prioritas suatu proses dapat di tentukan dengan :
- 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.


Adapun Kelemahan dari priority scheduling, yaitu dapat terjadinya indefinite blocking (starvation).
     - suatu proses yang memiliki prioritas yang lebih rendah tidak akan di eksekusi bila ada proses lain yang memiliki prioritas yang lebih tinggi.
Round Robin
       Fungsinya adalah untuk menggilir proses yang ada di antrian, proses ini cukup adil karena tidak ada proses yang di prioritaskan, semua proses dapat jatah waktu yang sama dari CPU.
Multilevel Queue
       Algoritma ini berdasarkan pada sistem prioritas proses. Prinsipnya adalah jika setiap prosesdapat dikelompokkan berdasarkan prioritasnya, makan akan didapati queue.
Multilevel Feedback Queue
       
Algoritma ini mirip sekali dengan algoritma multilevel queue, perbedaannya adalah algoritma ini mengizinkan proses untuk pindah antrian.
- Jika suatu proses menyita CPU terlalu lama, maka proses itu akan dipindahkan ke antrian yang lebih rendah.
- Hal 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.