Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Penjadwalan bertugas memutuskan proses yang harus berjalan dan Kapan dan selama berapa lama proses itu berjalan. Beberapa kriteria yang digunakan untuk mengukur kualitas suatu algoritma penjadwalan prosesor :
- Fairness atau pelayanan yang adil untuk semua pekerjaan. Proses-proses diperlukan sama yaitu mendapatkan jatah waktu dari pemroses yang sama, tak ada proses yang tidak mendapatkan layanan sehingga mengalami startvision. Sasaran pendjadwalan seharusnya menjamin tiap proses mendapat pelayanan dari pemroses secara adil.
- Throughput / memaksimumkan throughput. Throughput adalah jumlah pekerjaan yang dapat diselesaikan dalam satu unit waktu. Cara untuk mengekspresikan throughput adalah dengan jumlah job pemakai yang dapat dieksekusi dalam satu unit dalam interval waktu. Sasaran penjadwalan adalah memaksimalkan jumlah job yang diproses per satu nterval waktu. Lebih tinggi angka throughput, lebih banyak kerja yang dilakukan sistem. Kriteria-kriteria tersebut saling bergabung dan dapat pula saling bertentangan sehingga tidak dimungkinkan optimasi semua kriteria secara simultan.
- Efficiency / memaksimumkan pemakaian prosesor. Efesiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses. Sasaran penjadwalan adalah menjaga agar pemroses tetap dalam keadaan sibuk sehingga efesiensi mencapai maksimum. Sibuk adalah pemroses tidak menganggur, termasuk waktu yang dihabiskan untuk mengeksekusi program pemakai dan sistem operasi.
- Respone time / meminimalkan respone time. Waktu tanggap dalam sistem interaktif adalah waktu yang dihabiskan dari karakter terakhir untuk baris perintah yang dimasukkan atau transaksi sampai hasil pertama muncul dilayar (terminal). Waktu tanggap ini disebut terminal response time. Waktu tanggap sistem real time adalah waktu dari saat kejadian (internal atau eksernal) sampai instruksi pertama program bagian dari layanan yang dimaksud dieksekusi.
- Meminimalkan Turn arround time. Turn arround time adalah waktu yang dihabiskan dari saat program atau job mulai masuk ke system sampai proses diselesaikan sistem. Waktu yang dimaksud adalah waktu yang dihabiskan dalam sistem, diekspresikan sebagai jumlah waktu eksekusi (waktu pelayanan job) dan waktu menunggu (Turn Arround Time = waktu eksekusi + waktu tunggu)