Selain mengelola siklus hidup proses, sistem operasi bertanggung jawab untuk melakukan penjadwalan proses. Sistem operasi modern umumnya merupakan sistem multitasking, yaitu sistem yang memiliki kemampuan untuk menjalankan sejumlah proses secara konkuren. Untuk mendapatkan efek konkuren maka sistem operasi bertugas melakukan penjadwalan terhadap proses-proses untuk menggunakan prosesor secara berselang-seling.

Kompleksitas algoritma penjadwalan proses yang dibutuhkan oleh setiap sistem komputer berbeda satu sama lainnya. Sebagai contoh, pada sistem operasi mula-mula, yang mengeksekusi proses secara batch, tugas penjadwalan proses hanya mengalihkan eksekusi dari proses yang telah selesai ke proses berikutnya yang sudah menunggu. Sedangkan pada sistem mainframe yang melayani operasi batch dan juga timesharing sejumlah pengguna lewat terminal, algoritma penjadwalan harus melakukan seleksi dari sejumlah proses dan permintaan interaktif dari pengguna akan diprioritaskan dalam algoritma penjadwalan agar memberikan tanggapan waktu (response time) yang baik dan cepat bagi pengguna.

Sementara pada komputer desktop atau PC (Personal Computer) yang hanya mengakomodasi interaksi dengan satu pengguna pada setiap waktu, algoritma penjadwalan umumnya akan memilih proses yang sedang dijalankan oleh pengguna dibandingkan proses sistem yang berjalan secara background.

Pada sistem komputer yang saling terhubung dan berinteraksi lewat jaringan, proses-proses yang berjalan sering kali berebut waktu untuk memakai prosesor. Sebagai contoh, seorang pengguna sedang mengirim email serta melakukan download berkas dari internet. Dalam kasus ini urutan penjadwalan akan sangat mempengaruhi persepsi pengguna terhadap kinerja sistem.

Sebagai contoh, jika proses download berkas yang umumnya cukup lama misalnya membutuhkan 30 detik diprioritaskan maka waktu tunggu pengiriman email yang sebenarnya hanya membutuhkan 2 detik akan terasa lama sekali, yaitu 32 detik. Pengguna akan mendapatkan persepsi bawah pengiriman email lambat sekali, yaitu dari yang seharusnya 2 detik menjadi 32 detik.

Namun jika yang diprioritaskan adalah pengiriman email maka proses download berkas akan menjadi 32 detik, dari yang seharusnya 30 detik. Dari persepsi pengguna, tambahan waktu tunggu 2 detik tidak terlalu terasa dan cenderung dapat diterima.

Selain terkait sistem komputer yang digunakan , rancang bangun algoritma penjadwalan perlu memperhitungkan perbandingan antara jumlah operasi komputasi prosesor dengan jumlah operasi I/O dari suatu proses. Proporsi keduanya berbeda-beda dari satu proses ke proses yang lainnya.

Sebagai catatan, proses yang sedang melakukan operasi I/O akan berstatus blocked dan tidak ikut dalam penjadwalan proses. Proses-proses yang banyak siklus operasi I/O nya atau disebut IO-bound, umumnya memiliki durasi komputasi dan penggunaan prosesor yang singkat. Sementara proses yang sebagian besar siklus hidupnya melakukan komputasi atau disebut dengan compute-bound, proporsi operasi I/O sangat kecil. Pada sistem yang demikian, prioritas diberikan pada proses yang I/O bound. Jadi begitu proses yang I/O bound beralih dari blocked ke ready, sistem operasi segera menjadwalnya dan kemungkinan proses tersebut kemudian akan memanggil operasi I/O berikutnya. Dengan demikian, kesinambungan dari proses I/O bound tetap terjaga, sedangkan selama operasi I/Onya sistem operasi dapat menjadwal proses-proses yang compute-bound. Cara yang demikian dapat meningkatkan keluaran per satuan waktu (throughput) proses secara keseluruhan.