Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem komputer berkaitan dengan urutan kerja yang dilakukan sistem komputer. Penjadwalan bertugas memutuskan hal berikut :
- Proses yang harus berjalan
- Kapan dan selama berapa lama proses berjalan.
Sasaran Proses
Sasaran utama penjadwalan proses adalah optimasi kinerja sistem komputer menurut kriteria tertentu. Kriteria tersebut :
1. Adil (fairness)
Proses-proses diperlakukan sama, yakni mendapat jatah waktu layanan pemroses yang sama. Tidak ada proses yang mengalami startvation. Startvation adalah kondisi bahwa proses tidak pernah berjalan karena tidak dijadwalkan untuk berjalan.
2. Efisiensi
Efisiensi pemroses dihitung dengan perbandingn (rasio) waktu sibuk pemroses dengan total waktu operasi sistem komputer secara keseluruhan. Sasaran penjadwalan adalah menjaga agar pemroses selalu dalam keadaan sibuk sehingga efisiensi sistem komputer maksimum.
3. Waktu tanggap
- Waktu tanggap berbeda untuk sistem interaktif dan sistem waktu nyata (real time).
- Waktu tanggap sistem interaktif didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari perintah hingga hasil pertama muncul pada perangkat masukan keluaran. (disebut Terminal response time).
- Waktu tanggap pada sistem waktu nyata didefinisikan sebagai waktu dari saat kemunculan suatu kejadian sampai instruksi pertama rutin layanan terhadap kejadian dieksekusi. (disebut event response time).
- Sasaran penjadwalan adalah meminimalkan waktu tanggap sehingga menghasilkan sistem yang responsife.
4. Turn arround time
Turn Arround Time adalah waktu yang dihabiskan dari saat proses mulai masuk ke sistem sampai proses itu diselesaikan sistem. Turn arround time = waktu eksekusi + waktu menunggu. Sasaran penjadwalan adalah meminimalkan turn arround time.
5. Throughput
Throughput adalah jumlah kerja yang dapat diselesaikan selama satu selang waktu. Cara untuk mengekspresikan throughput adalah dengan jumlah proses pemakai yang dapat dieksekusi dalam satu unit/interval waktu tertentu. Sasaran penjadwalan adalah memaksimalkan throughput.
Tipe-Tipe Penjadwalan
Dalam sistem operasi yang kompleks terdapat tiga tipe penjadwalan.
1. Penjadwalan jangka pendek (short-term scheduller)
Bertugas menjadwalkan alokasi pemroses di antara proses-proses ready di memori utama. Sasaranya adalah memaksimalkan kinerja sistem. Penjadwalan jangka pendek dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya
2. Penjadwalan jangka menengah (medium-term scheduler)
Bertugas mengangani proses-proses swapping. Mengendalikan transisi dari suspended ke ready
3. Penjadwalan jangka panjang (long-term scheduller)
Bekerja terhadap antrian batch, dan memilih batch berikutnya yang harus dieksekusi. Batch berupa proses dengan penggunaan sumberdaya intensif (waktu proses, memori, perangkat I/O). Sasaran utamanya memberikan keseimbangan proses- proses campuran.
Strategi Penjadwalan
a. Penjadwalan Nonpreemptive
Begitu proses diberi jatah waktu pemroses maka pemroses tidak dapat diambil alih oleh proses lain sampai proses itu selesai
b. Penjadwalan Preemptive
Saat proses diberi jatah waktu pemroses maka pemroses dapat diambil alih oleh proses lain sehingga proses disela sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba kembali pada proses itu
Algoritma Penjadwalan
1. Algoritma yang menerapkan strategi nonpreemptive :
- FIFO (First-in, First-out).
- SJF (Shortest Job First).
- HRN (Highest Ratio Next).
- MFQ (Multiple Feedback Queues).
2. Algortima yang menerapkan strategi preemptive :
- RR (Round-Robin).
- SRF (Shortest-Remaining-First).
- PS (Priority Schedulling).
- GS (Guaranteed Schedulling).
Komentar
Posting Komentar