04 November 2014

Sistem Operasi

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.
Solusi untuk mengatasi masalah tersebut adalah aging, yaitu meningkatkan prioritas dari setiap proses yang menunggu dalam queue secara bertahap.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.
       Adapun kelemahan dari round robin, yaitu 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, karena CPU memerlukan waktu untuk beralih dari suatu proses ke prosses lain.
       Jika time quantum terlalu besar, algoritma round robin agar berjalan seperti algoritma first come first served.
Multilevel Queue
       Algoritma ini berdasarkan pada sistem prioritas proses. Prinsipnya adalah jika setiap prosesdapat dikelompokkan berdasarkan prioritasnya, makan akan didapati queue.
       Adapun kelemahan dari multilevel queue, yaitu algoritma ini memiliki kelemahan yang sama terhadap priority scheduling, yaitu suatu proses pada queue dengan prioritas rendah bisa saja tidak mendapatkan jatah CPU.
Untuk mengatasinya , memodifikasi algoritma ini dengan adanya jatah waktu maksimal untuk tiap antrian. Misalnya jika antrian terlalu banyak memakan waktu, maka prosesnya akan dihentikan dan digantikan oleh antrian dibawahnya.
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.