Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer.penjadwal bertugas untuk proses yang harus berjalan,kapan dan selama berapan lama proses itu berjalan.
B. KRITERIA PENGUKURAN PENJADWALAN
1. Adil (Fairness) adalah proses-proses diperlukan sama yaitu mendapatkan jatah waktu pemroses yang sama dan tak ada proses yang tidak kebagian layanan pemroses sehingga mengalami startvision. 2. Efesiensi (Efficient) Efesiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses. Sibuk adalah pemroses tidak menganggur, termasuk waktu yang dihabiskan untuk mengeksekusi program pemakai dan sistem operasi. 3. Waktu Tanggap (Response Time) Sistem interaktif Sistem waktu nyata 4. Waktu Penyelesaian (TurnaroundTime) Turnaround time adalah waktu yang dihabiskan dari saat program mulai masuk ke sistem sampai proses diselesaikan system 5. Throughtput Throughtput adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu. Cara untuk mengekspresikan throughput adalah dengan jumlah job pemakai yang dapat dieksekusi dalam satu unit/interval waktu. C. TIPE-TIPE PENJADWALAN 1. Penjadwal jangka pendek (short-tem scheduller) Penjadwal ini bertugas menjadwalkan alokasi pemroses diantara proses-proses ready di memori utama. 2. Penjadwal jangka menengah (medium-term scheduller) Penjadwal jangka menengah adalah menangani proses-proses swapping. Proses- proses mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Penjadwal jangka menengah mengendalikan transisi dari suspended-ready (dari keadaan suspend ke ready) proses-proses swapping. 3. Penjadwal jangka panjang (long-term scheduller) Penjadwal jangka panjang bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu proses, memori, perangkat I/O), program-program ini berprioritas rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama periode aktivitas job-job interaktif rendah. D. STRATEGI PENJADWALAN 1) Penjadwalan nonpreemptive Begitu pemroses diberi jatah untuk memroses maka proses tidak dapat diambil alih oleh pemroses lain sampai proses itu selesai. 2) Penjadwalan preemptive Penjadwalan preemptive berguna pada sistem dimana proses-proses yang mendapat perhatian tanggapan pemroses secara cepat. Misalnya Pada sistem waktu nyata, kehilangan interupsi (yaitu interupsi tidak segera dilayani) dapat berakibat fatal. E. ALGORITMA PENJADWALAN Proses yang belum mendapat jatah alokasi dari CPU akan mengantri di ready queue. Terdapat banyak algoritma penjadwalan ,baik nonpreemptive maupun preemptive. 1. FIFO (First In First Out) Pertama Masuk, Pertama Keluar), sebuah abstraksi yang berhubungan dengan cara mengatur dan memanipulasi data relatif terhadap waktu dan prioritas. 2. SJF (Shortest Job First) Mekanismenya adalah menjadwalkan proses dengan waktu jalan terpendek lebih dulu sampai selesai, sehingga memberikan efisiensi yang tinggi dan turn around time rendah. 3. HRN (Highest Ratio Net) Penjadwalan HRN merupakan: Penjadwalan non-preemptive Penjadwalan berprioritas dinamis Penjadwalan ini juga untuk mengkoreksi kelemahan SJF. HRN adalah strategi penjadwalan nonpreemptive dengan prioritas proses tidak hanya pada waktu layanan tapi juga jumlah waktu tunggu proses. Prioritas dinamis HRN dihitung berdasarkan rumus: Prioritas = (Waktu tunggu + waktu layanan) / waktu layanan 4. MFQ (Multiple Feedback Queue) Algoritma ini mirip sekali dengan algoritma multilevel queue. Perbedaannya ialah algoritma ini mengizinkan proses untuk pindah antrian. Algoristma-algoritma yang menerapkan strategi preemptive: 1. RR (Round Robin) merupakan penjadwalan preemptive, namun proses tidak di-preempt secara langsung oleh proses lain namun oleh penjadwal berdasarkan lama waktu berjalannya suatu proses maka penjadwalan ini disebut preempt-by-time. 2. SRTF (Shortest Remaining Time First) Perbedaan SRTF dengan SJF: Pada SJF, begitu proses dieksekusi, proses dijalankan sampai selesai. Pada SRTF proses sedang berjalan (Running) dapat diambil alih oleh proses baru dengan sisa waktu jalan yang diestimasi lebih rendah. Kelemahan:
SRTF mempunyai overhead yang lebih besar dibandingkan SJF. SRTF
memerlukan penyimpanan waktu layanan yang telah dihabiskan proses dan kadang-kadang harus menangani peralihan. 3. PS (Priority Schedulling) Priority Scheduling Merupakan algoritma penjadwalan yang mendahulukan proses yang memiliki priortas tertinggi. Prioritas Statis Prioritas statis berarti prioritas tak berubah Prioritas dinamis Merupakan mekanisme menanggapi perubahan lingkungan sistem beroperasi 4. GS (Guaranteed Schedulle) Penjadwalan ini memberikan janji yang realistis (memberi daya pemroses yang sama) untuk membuat dan menyesuaikan performance adalah jika ada N pemakai, sehingga setiap proses (pemakai) akan mendapatkan 1/N dari daya pemroses CPU.