PENJADWALAN PROSES
Definisi Penjadwalan Proses
Penjadwalan proses merupakan kumpulan kebijakan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem computer. Yang bertujuan untuk memutuskan proses mana yang harus berjalan dan kapan serta berapa lama waktu yang diperlukan. Sasaran utama penjadwalan proses adalah memaksimalkan jumlah job yang diproses per satu interval waktu.. Kriteria yang digunakan untuk optimasi kinerja penjadwalan proses adalah: :
- Adil (fairness) : setiap proses mendapat jatah waktu yang sama.
- Efiesiensi : menjaga agar pemroses dalam keadaan sibuk sehingga efisiensinya maksimum.
- Waktu tanggap (response time) : meminimalkan waktu tanggap. Waktu tanggap ada 2 yaitu waktu tanggap interaktif (terminal response time) dan waktu tanggap pada sistem nyata (event response time). Waktu tanggap interaktif adalah waktu yang dihabiskan dari saat karakter perintah terakhir berinteraksi sampai instruksi pertama rutin layanan dieksekusi. Waktu tanggap pada sistem nyata adalah waktu saat kejadian sampai instruksi pertama rutin layanan dieksekusi.
- Turn around time : meminimalkan turn around time. Turn around time adalah waktu yang dihabiskan dari saat program masuk ke sistem sampai proses diselesaikan sistem. Dengan kata lain turn around time = waktu eksekusi + waktu tunggu.
- Throughput. Adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu. Cara untukmengekspresikan throughput adalah dengan jumlah job pemakai yang dapat dieksekusi dalam satu unit/interval waktu.
Tipe Penjadwalan
Terdapat 3 tipe penjadwalan pada sistem operasi yang kompleks, yaitu :
- Penjadwalan jangka pendek (short term scheduler) bertugas menjadwalkan alokasi pemroses diantara proses – proses ready di memori utama. Sasarannya ialah memaksimumkan kinerja untuk memenuhi satu kumpulan kriteria yang diharapkan.
- Penjadwalan jangka menengah (medium term scheduler) bertugas menangani proses-proses swapping, mengendalikan transisi dari suspended to ready proses-proses swapping. Swapping adalah pemindahan proses yang tertunda dari memori utama ke memori sekunder.
- Penjadwalan jangka panjang (long term scheduler) bertugas terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. Batch adalah proses-proses dengan penggunaan sumber daya intensif (waktu processor, memori, perangkat Input/output) dan biasanya berprioritas rendah.
Strategi penjadwalan
Terdapat 2 strategi penjadwalan :
- Penjadwalan nonpreemptive (run-to-completion) : apabila suatu proses telah diberi jatah waktu penggunaan processor maka processor tidak dapat diambil alih proses lain sampai proses tersebut selesai.
- Penjadwalan preemptive : Ketika proses diberi jatah jatah waktu penggunaan processor, maka proses tersebut dapat diambil alih proses lain, sehingga proses tersebut disela sebelum selesai, dan harus dilanjutkan menunggu sampai jatah waktu processor tiba untuk prose situ. Jadi dengan kata lain proses lain dapat mengambil alih jatah waktu proses lain. Ini sangat berguna pada sistem dimana proses memerlukan tanggapan dari pemroses lebih cepat. Misalnya pada sistem waktu nyata, kehilangan interupsi dapat berakibat fatal atau pada sistem interaktif time sharing, penjadwalan preemptive untuk menjamin waktu tanggap yang memadai.
Algoritma penjadwalan
Algoritma yang menerapkan strategi non-preemptive antara lain :
- First In First Out (FIFO)atau First Come First Serve (FCFS)
- Shortest Job First (SJF)
- Highest Ratio Next (HRN)
- Multiple Feedback Queues (MFQ)
Algoritma yang sering digunakan dalam strategi preemptive antara lain :
- Round Robin (RR)
- Shortest Remaining First (SRF)
- Priority Schedulling (PS)
- Guaranteed Schedulling (GS)
Tidak ada komentar:
Posting Komentar