Page 3 - Konsep Penjadwalan CPU
P. 3
atau beberapa proses. Membuat penjadwalan yang Preemptive mempunyai keuntungan yaitu
sistem lebih responsif daripada sistem yang memakai penjadwalan Non Preemptive.
Dalam waktu-waktu tertentu, proses dapat dikelompokkan ke dalam dua kategori: proses yang
memiliki Burst M/K yang sangat lama disebut I/O Bound, dan proses yang memiliki Burst
CPU yang sangat lama disebut CPU Bound. Terkadang juga suatu sistem mengalami kondisi
yang disebut busywait, yaitu saat dimana sistem menunggu request input (seperti disk,
keyboard, atau jaringan). Saat busywait tersebut, proses tidak melakukan sesuatu yang
produktif, tetapi tetap memakan resource dari CPU. Dengan penjadwalan Preemptive, hal
tersebut dapat dihindari. Dengan kata lain, penjadwalan Preemptive melibatkan mekanisme
interupsi yang menyela proses yang sedang berjalan dan memaksa sistem untuk menentukan
proses mana yang akan dieksekusi selanjutnya.
Lama waktu suatu proses diizinkan untuk dieksekusi dalam penjadwalan Preemptive disebut
time slice/quantum. Penjadwalan berjalan setiap satu satuan time slice untuk memilih proses
mana yang akan berjalan selanjutnya. Bila time slice terlalu pendek maka penjadwal akan
memakan terlalu banyak waktu proses, tetapi bila time slice terlau lama maka memungkinkan
proses untuk tidak dapat merespon terhadap event dari luar secepat yang diharapkan.
Penjadwalan preemptive mungkin akan dijalankan ketika proses dalam keadaan:
Berubah dari running ke waiting state.
Berubah dari running ke ready state.
Berubah dari waiting ke ready state.
Dihentikan.
4. Algoritma Penjadwalan
a) First Come First Served (FCFS)
Algoritma ini merupakan algoritma penjadwalan yang paling sederhana yang digunakan CPU.
Dengan menggunakan algoritma ini setiap proses yang berada pada status ready dimasukkan
kedalam FIFO queue atau antrian dengan prinsip first in first out, sesuai dengan waktu
kedatangannya. Proses yang tiba terlebih dahulu yang akan dieksekusi.
Contoh:
Ada tiga buah proses yang datang secara bersamaan yaitu pada 0 ms, P1 memiliki burst
time 24 ms, P2 memiliki burst time 3 ms, dan P3 memiliki burst time 3 ms.