Pada sistem Operasi, terdapat 3 tipe penjadwal berada secara bersama-sama
pada sistem operasi yang kompleks, yaitu:
a. Penjadwal jangka pendek (short term scheduller)
Bertugas menjadwalkan alokasi pemroses diantara proses-proses ready di
memori utama. Penjadwalan ini dijalankan setiap terjadi pengalihan proses untuk
memilih proses berikutnya yang harus dijalankan.
b. Penjadwal jangka menengah (medium term scheduller)
Setelah eksekusi selama suatu waktu, proses mungkin menunda sebuah
eksekusi karena membuat permintaan layanan masukan/keluaran atau
memanggil suatu system call. Proses-proses tertunda tidak dapat membuat
suatu kemajuan menuju selesai sampai kondisi-kondisi yang menyebabkan
tertunda dihilangkan. Agar ruang memori dapat bermanfaat, maka proses
dipindah dari memori utama ke memori sekunder agar tersedia ruang untuk
proses-proses lain. Kapasitas memori utama terbatas untuk sejumlah proses
aktif. Aktivitas pemindahan proses yang tertunda dari memori utama ke memori
sekunder disebut swapping. Proses-proses mempunyai kepentingan kecil saat itu
sebagai proses yang tertunda. Tetapi, begitu kondisi yang membuatnya tertunda
hilang dan dimasukkan kembali ke memori utama dan ready.
c. Penjadwal jangka panjang (long term scheduller)
Penjadwalan ini bekerja terhadap antrian batch dan memilih batch berikutnya
yang harus dieksekusi. Batch biasanya berupa proses-proses dengan
penggunaan sumber daya yang intensif (yaitu waktu pemroses, memori,
masukan/keluaran), program-program ini berprioritas rendah, digunakan sebagai
pengisi (agar pemroses sibuk) selama periode aktivitas job-job interaktif rendah.
Meskipun tiap-tiap proses terdiri dari suatu kesatuan yang terpisah namun
adakalanya proses-proses tersebut butuh untuk saling berinteraksi. Satu proses
bisa dibangkitkan dari output proses lainnya sebagai input. Pada saat proses
dieksekusi, akan terjadi perubahan status. Status proses didefiniskan sebagai
bagian dari aktivitas proses yang sedang berlangsung saat itu.