Sabtu, 27 April 2013

Priority Schedule



Penjadwalan Proses
            Penjadwalan berkaitan dengan permasalahan memutuskan proses mana yang akan dilaksanakan dalam suatu sistem. Proses yang belum mendapat jatah dari alokasi CPU akan mengantri di ready queue. Algoritma penjadwalan berfungsi untuk menentukan proses mana yang ada di ready queue yang akan dieksekusi oleh CPU.
Berikut ini adalah kriteria untuk mengukur dan meng-optimalisasi kinerja penjadwalan:
1.      Adil (fairness)
Adalah proses-proses yang diperlakukan sama, yaitu mendapat jatah waktu pemroses yang sama sehingga tidak ada proses yang tidak kebagian layanan pemrosesan.
2.      Efisiensi (eficiency)
Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses.
3.      Waktu Tanggap (response time)
Merupakan waktu yang diperlukan dari saat perintah dimasukkan sampai hasil pertama muncul di layar.
4.      Turn Around Time
Waktu yang dihabiskan dari saat program mulai masuk ke sistem sampai proses diselesaikan sistem. Waktu yang dimaksud adalah waktu yang dihabiskan didalam sistem.
5.      Throughput
Adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu.

Berikut ini adalah jenis-jenis algoritma penjadwalan:
·        FCFS (First Come First Serve)
·        SJF (Shortest Job First)
·        Priority Scheduling
·        Round Robin



            Pada sistem multiprogramming, selalu akan terjadi beberapa proses berjalan
dalam suatu waktu. Sedangkan pada uniprogramming hal ini tidak akan terjadi, karena
hanya ada satu proses yang berjalan pada saat tertentu.
Oleh karena itu pada sistem multiprogramming memerlukan proses penjadwalan yang berfungsi untuk mengatur dan menjadwalkan semua resource komputer sebelum digunakan.

Terdapat dua strategi penjadwalan yaitu :
1.      Penjadwalan Preemptive
Memiliki ciri khas:
ü  Pada saat CPU sedang digunakan oleh proses, CPU dapat diambil oleh proses lain.
ü  Dalam strategi penjadwalan ini harus selalu dilakukan perbaikan data.
2.      Penjadwalan Non Preemptive
Memiliki ciri khas:
ü  Jika proses sedang menggunakan CPU maka proses tersebut akan membawa CPU sampai proses tersebut melepaskannya (berhenti dalam keadaan wait).

v  Algoritma Priority Scheduling
Priority Scheduling merupakan algoritma penjadwalan yang mendahulukan proses yang memiliki prioritas tertinggi. Setiap proses memiliki prioritasnya masing-masing.

Prioritas suatu proses dapat dtentukan melalui beberapa karakteristik antara lain:
1.      Waktu
2.      Memori yang dibutuhkan
3.      Banyaknya file yang terbuka
4.      Perbandingan antara rata-rata I/O Burst dengan rata-rata CPU Burst
Priority Scheduling  juga dapat dijalankan secara preemptive maupun non-preemptive. Pada preemptive, jika ada suatu proses yang baru datang memiliki prioritas yang lebih tinggi daripada proses yang dijalankan, maka proses yang sedang berjalan tersebut dihentikan, lalu CPU dialihkan untuk proses yang baru datang tersebut. Misalnya jika ada proses P1 yang datang pada saat P0 sedang berjalan maka akan dilihat prioritas P1, jika prioritas P1>P0 maka P0 akan dihentikan dulu kemudian CPU akan dialokasikan untuk menjalankan proses P1.

Kelemahan dari priority scheduling adalah dapat terjadinya indefinite blocking (starvation), yaitu suatu proses dengan prioritas yang rendah memiliki kemungkinan untuk tidak dieksekusi jika terdapat proses lain yang memiliki tingkat prioritas yang lebih tinggi darinya.
Solusi dari permasalahan ini adalah aging, yaitu meningkatkan prioritas dari setiap proses yang menunggu dalam queue secara bertahap. 
           

Tidak ada komentar:

Posting Komentar