ALGORITMA PENJADWALAN PROSES NONPREEMPTIVE

 


Sebelum kita membahas mengenai algoritma penjadwalan proses, kita harus mengetahui dahulu apa itu penjadwalan proses. Penjadwalan proses merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Proses yang dimaksud merupakan proses pada komputer.

Terdapat banyak algoritma penjadwalan, baik algoritma penjadwalan nonpreemptive maupun penjadwalan preemptive. Pada artikel ini, akan dijelaskan algoritma nonpreemptive. Algoritma-algoritma yang menerapkan strategi nonpreemptive diantaranya :

 

1.       FIFO (First-In, First-Out) atau FCFS (First-Come, First-Serve)




Penjadwalan FIFO merupakan :

·      Penjadwalan non preemptive (run-to-completion)

·      Penjadwalan tidak berprioritas

Penjadwal FIFO adalah penjadwalan dengan ketentuan-ketentuan paling sederhana, yaitu :

·      Proses-proses diberi jatah waktu pemroses diurutkan berdasarkan waktu kedatangan proses-proses itu ke sistem.

·      Begitu proses mendapat jatah waktu pemroses, proses dijalankan sampai selesai

Penjadwalan ini dikatakan adil dalam arti resmi, tapi dikatakan tidak adil karena proses yang memerlukan waktu lama membuat proses pendek menunggu. Proses tidak penting dapat membuat proses penting menjadi menunggu. FIFO jarang digunakan secara mandiri tapi dikombinasikan dengan skema lain, misalnya keputusan berdasarkan prioritas proses, sedangkan untuk proses berprioritas sama diputuskan berdasarkan FIFO.

Berdasarkan kriteria penilaian penjadwalan :

·      Fairness, penjadwalan FIFO adil dalam arti resmi

·      Efisiensi, FIFO sangat efisien dalam penggunaan pemroses

·      Waktu tanggap, penjadwalan sangat tidak memuaskan karena proses dapat menunggu lama. Tidak cocok untuk sistem interaktifTurn arround time, penjadwalan FIFO tidak bagus

·      Throughput, penjadwalan FIFO tidak bagus.

Penjadwalan berprioritas diberikan secara :

·      Prioritas statis (static priorities), prioritas tak berubah.

keunggulan : Mudah diimplementasikan dan mempunyai overhead relatif kecil

kelemahan : penjadwalan prioritas statis tidak tanggap perubahan lingkungan yang mungkin menghendaki penyesuaian prioritas

·      Prioritas dinamis (dynamic priorities), mekanisme menanggapi perubahan lingkungan sistem saat beroperasi di lingkungan nyata. Prioritas awal yang diberikan ke proses mungkin hanya berumur pendek. Dalam hal ini sistem dapat menyesuaikan nilai prioritasnya ke nilai yang lebih tepat sesuai lingkungan.

keunggulan : waktu tanggap sistem yang bagus

kelemahan : implementsi mekanisme prioritas dinamis lebih kompleks dan mempunyai overhead yang lebih besar dibanding mekanisme prioritas statik.

Algoritma penjadwalan berprioritas dapat dikombinasikan yaitu dengan mengelompokkan proses-proses menjadi kelas-kelas prioritas. Penjadwalan berprioritas diterapkan antar kelas- kelas proses itu. Penjadwlan round-robin atau penjadwalan FIFO diterapkan pada proses-proses di dalam satu kelas.

 

2.    SJF (Shortest Job First)



Penjadwalan SJF merupakan :

·      Penjadwalan non preemptive

·      Penjadwalan dapat dikatakan sebagai berprioritas.

Di SJF, prioritas diasosiasikan dengan masing-masing proses dan pemroses dialokasikan ke proses dengan prioritas tertinggi. Proses-proses dengan prioritas yang sama akan dijadwalkan secara FIFO.

Penjadwalan ini mengasumsikan waktu jalan proses (sampai selesai) atau waktu lamanya proses diketahui sebelumnya. Mekanisme penjadwlan SJF adalah lebih dulu menjadwalkan proses dengan waktu jalan terpendek sampai selesai. Setelah proses itu selesai, maka proses dengan waktu jalan terpendek berikutnya dijadwalkan. Demikian seterusnya.

Keunggulan :

·      Penjadwalan SJF mempunyai efisiensi tinggi dan turn arround time rendah.

Kekurangan :

·      Tidak dapat mengetahui ukuran proses saat proses masuk

·      Proses tidak datang bersamaan sehingga penetapannya harus dinamis

Untuk mengetahui ukuran lama proses agar dapat ditetapkan yang terpendek, biasanya dilakukan dengan cara pendekatan. Pendekatan yang biasa dilakukan adalah dengan membuat estimasi berdasarkan perilaku historis sistem. Merupakan kajian teoritis untuk pembandingan dalam pembandingan turn arround time.

 

Comments