Penjadwalan Prosesor (CPU Scheduling) Pada sistem multiprogram, beberapa proses berkompetisi memperebutkan CPU. Pemilihan proses dilakukan oleh scheduler berdasarkan scheduling algorithm (algoritma Penjadwalan). Issue dalam penjadwalan: Proses I/O bound dan compute bound . Penjadwalan nonpreemptive dan preemptive Kategori: batch, interactive, dan real time Sasaran algoritma penjadwalan: all system, sistem batch, sistem interaktif, dan sistem real-time
Penjadwalan Sistem Batch First-Come First-Served. Shortest Job First Contoh penjadwalan Shortest Job First Shortest Remaining Time Next. Three Level Scheduling
Penjadwalan Sistem Interaktif Penjadwalan Round-Robin Setiap proses diberi interval waktu, disebut quantum, waktu untuk run Pertukaran penggunaan CPU dari satu proses ke proses berikutnya membutuhkan waktu untuk tugas administrasi, yaitu : saving dan loading registers dan memory map, updating beberapa tabel dan list, dll. Proses pertukaran ini disebut process-switch atau context-switch. Current Next process Current process
Penjadwalan Prioritas Proses dengan prioritas tertinggi di run terlebih dulu Untuk mencegah proses dengan prioritas tertinggi di run tanpa batas, maka digunakan clock-interrupt untuk menurunkan prioritas proses yang sedang run. Penjadwalan prioritas di lakukan dalam kelas-kelas priority 4 priority 2 priority 1 Queue headers Runable processes Highest Priority Lowest priority 3
Shortest Process Next Guaranteed Scheduling Lottery Scheduling Fair-Share Scheduling Penjadwalan Sistem Real-Time m periodic events event i terjadi dalam periode Pi dan membutuhkan Ci detik Policy Versus Mechanism Pemisahan antara Mekanisme dan Policy
Penjadwalan Thread Kemungkinan penjadwalan User-Level Threads dengan proses quantum 50-msec dan thread run 5-msec per CPU burst.
Kemungkinan penjadwalan Kernel-Level Threads dengan karakteristik yang sama seperti (a).