Penjadwalan proses waktu nyata merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Sedangkan proses sendiri merupakan unit kerja terkecil yang secara individu memiliki sumber daya atau unit pemilikan sumber daya.
Penjadwalanan bertugas memutuskan hal-hal berikut :
Proses yang harus berjalan
Kapan dan selama berapa lama proses berjalan
Sasaran utama penjadwalanan proses adalah Optimasi kinerja sistem komputer menurut kriteria tertentu.
Kriteria untuk mengukur dan optimasi kinerja penjadwalanan adalah sbb
1. Adil (fairness)
2. Efisiensi
3. Waktu Tanggap (response time)
4. Turn arround Time
5. Troughput
Sasaran penjadwalan berdasarkan kriteria-kriteria optimasi
Menjamin tiap proses mendapat pelayanan dari pemroses yang adil.
Menjaga agar pemroses tetap dalam keadaan sibuk sehingga efisiensi mencapai maksimum. Pengertian sibuk adalah pemroses tidak menganggur, termasuk waktu yang dihabiskan untuk mengeksekusi program pemakai dan sistem operasi.
Meminimalkan waktu tanggap.
Meminimalkan turn arround time.
Memaksimalkan jumlah job yang diproses persatu interval waktu. Lebih besar angka throughput, lebih banyak kerja yang dilakukan sistem.
Beberapa istilah yang digunakan dalam penjadwalan proses
Antrian Sejumlah proses yang menunggu menggunakan prosesor dan akan diproses sesuai dengan urutan antrian proses.
Prioritas Mendahului pada antrian proses, kalau proses itu berada di bagian belakang antrian, maka dengan pemberian prioritas, proses itu langsung berada di bagian paling depan pada antrian itu sambil menunggu sampai kerja prosesor selesai.
Prempsi Mendahului pada antrian proses, kalau proses itu berada di bagian belakang antrian, maka dengan pemberian prempsi, proses itu langsung berada di bagian paling depan pada antrian itu bahkan akan memberhentikan kerja prosessor untuk mengerjakan proses yang prempsi tersebut.
Tipe Tipe Penjadwalan
1. Penjadwalan Waktu Pendek
Penjadwalanan jangka pendek bertugas menjadwalkan alokasi pemroses di antara proses-proses Ready yang berada di memori utama. sasaran utama penjadwalan jangka pendek adalah memaksimumkan kinerja sistem untuk memenuhi satu kumpulan kriteria yang diharapkan.
2. Penjadwalan Jangka Menengah
Setelah eksekusi selama suatu waktu, proses mungkin ditunda karena permintaan layanan masukan/keluaran atau memanggil suatu system call. Proses-proses yang tertunda tidak dapat membuat suatu kemajuan untuk menuju selesai sampai ondisi yang menyebabkannya hilang.
3. Penjadwalan Jangka panjang
Penjadwalan jangka panjang bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi sistem. Batch biasanya berupa proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu pemroses, memori, perangkat masukan/keluaran), program ini mempunyai prioritas yang rendah, dan biasa digunakan sebagai pengisi (agar pemroses sibu) selama periode aktivitas proses-proses interaktif rendah. Sasaran utama penjadwalan jangka panjang adalah memberi keseimbangan proses-proses campuran.
Gambar tipe-tipe penjadwalan, Menujukan posisi dari tipe-tipe penjadwalan yang terdapat pada satu sistem operasi
Sasaran penjadwalan berdasarkan tipe-tipe penjadwalan
Memaksimumkan kinerja untuk memenuhi satu kumpulan kriteria yang diharapkan.
Mengendalikan transisi dari suspended to ready (keadaan suspend ke ready) dari proses-proses swapping.
Memberi keseimbangan job-job campuran.
Strategi Penjadwalan Proses
Penjadwalan nonpremptive ( run-to-complain)
Penjadwalan preemptive.
Algoritma-Algoritma Penjadwalan Proses
Algoritma – algoritma yang menerapkan strategi nonpreemptive :
FIFO (First-in, First-out) atau FCFS (First-Come, First-Serve)
SJF (Shortest Job First).
Algoritma – algoritma yang menerapkan strategi preemptive :
RR (Round-Robin).
Shortest-Remaining Time First (SRTF)
Priority Scheduling (GS)
Multi Level Feedback Queues (MFQ)