Penjadwalan CPU adalah (CPU scheduling) adalah suatu pengaturan proses-proses yang ada
dalam cpu. Penjadwalan ini sangatlah penting karena menentukan performa dari sebuah cpu.
Penjadwalan cpu adalah dasar dari multiprogramming karena dengan adalnya alokasi itu maka
proses-proses itu mendapatkan alokasi resource dari CPU.
Keberhasilan dari penjadwalan CPU tergantung dari beberapa properti prosesor. Pengeksekusian
dari proses tersebut terdiri atas siklus CPU ekskusi dan M/K Wait. Proses hanya akan bolak-balik
dari dua pernyataan ini, inilah yang disebut Siklus Burst CPU-M/K. Pengeksekusian proses
dimulai dengan Burst CPU, lalu diikuti olehi Burst M/K, kemudian Burst CPU lagi lalu Burst
M/K lagi, dan seterusnya dilakukan secara bergiliran. Burst CPU terakhir akan berakhir dengan
permintaan sistem untuk mengakhiri pengeksekusian melalui Burst M/K lagi.
Dispatcher adalah modul yang memberikan kontrol CPU kepada proses yang sedang terjadwal.
fungsinya adalah
1. Context switching . Mengganti state dari suatu proses dan mengembalikannya untuk
menghindari monopoli cpu oleh satu proses tertentu. Context switching dilakukan untuk
menangani suatu interrupt(misalnya menunggu waktu M/K). Untuk menyimpan state
dari proses-proses yang terjadwal sebuah Process Control Block harus dibuat untuk
mengingat proses-proses yang sedang diatur scheduler.
Dispatch latency adalah waktu yang diperlukan dispatcher untuk menghentikan suatu proses dan
memulai proses yang lain.
PENJADWAL CPU
Suatu proses mengandung suatu cycle atau siklus dari pengeksekusian CPU dan M/K wait. Suatu
proses yang dieksekusi oleh CPU terjadi diantara dua cycle tersebut.
Proses eksekusi dimulai dengan CPU brust lalu M/K brust dan kembali lagi ke M/K brust. Pada
saaat pengeksekusian menjalankan instruksi nya pada CPU Burst dan akan mengalami suatu
M/K Burst pada saat menunggu proses M/K (M/K Burst). Sautu proses akan berada di posisi
kedua siklus tersebut,. Tetapi bisa saja suatu proses memiliki cpu brust yang lama yang disebut
CPU Bound, contohnya seperti proses aritmatika.
Contoh CPU Bound yang lain adalah proses pengeksekusian graphic game, dimana proses ini
banyak menunggu masukkan dan keluaran dari M/K. semakin tinggi kualitas graphic maka
semakin lama waktu yang diperlukan, namun pada jaman sekarang cpu sudah berkembang
sehingga mampu menangani proses ini dengan baik.
Ketika CPU mengalami waktu idle, sistem operasi harus memilih salah satu proses untuk masuk
kedalam antrian yang akan untuk dieksekusi. Pemilihan tersebut dilakukan oleh penjadwal
jangka pendek atau penjadwal CPU. Ada tiga tipe penjadwal yang berada bersama pada sistem
operasi kompleks, yaitu :
Penjadwalan Non Preemptive ialah salah satu jenis penjadwalan dimana sistem operasi tidak
pernah melakukan context switch dari proses yang sedang berjalan ke proses yang lain. Dengan
kata lain, proses yang sedang berjalan tidak bisa di- interupt.
Banyak kriteria yang bisa digunakan dalam menilai algoritma penjadwalan CPU
1. CPU Utilization
Cpu Utilization adalah persentase dari CPU yang diginakan, memiliki ragen 0-100
persen. Cpu utilization dapat melihat kesibukan dari satu prosesor.
2. Throughput.
Throughput adalahbanyaknya proses yang diselesaikan per satuan waktu. Jika kita mempunyai
beberapa proses yang sama dan memiliki beberapa algoritma penjadwalan yang berbeda,
throughput bisa menjadi salah satu kriteria penilaian, dimana algoritma yang menyelesaikan
proses terbanyak dengan waktu paling singkat mungkin yang terbaik.
3. Turnaround Time . Dari sudut pandang proses tertentu, kriteria yang penting adalah berapa lama
untuk mengeksekusi proses tersebut.
Tapi keefektifan proses algoritma penjadwalan juga berpengaruh dalam menyelesaikan sebuah
proses. Karena setiap proses memiliki keidentikan sendiri dan tentunya memerlukan algoritma
penjadwalan yang berbeda agar efektif
Interval waktu yang diijinkan dengan waktu yang dibutuhkan untuk menyelesaikan sebuah proses
disebut turnaround time. Turnaround time adalah jumlah periode untuk menunggu untuk dapat ke
memori, menunggu di ready queue, eksekusi CPU, dan melakukan operasi M/K.
4. Waiting Time .
Algoritma penjadwalan CPU tidak mempengaruhi waktu untuk melaksanakan proses tersebut
atau M/K, itu hanya mempengaruhi jumlah waktu yang dibutuhkan proses di antrian ready.
Waiting time adalah jumlah waktu yang dibutuhkan proses di antrian ready.