Algoritma ini sepenuhnya bergantung besarnya time quantum. Jika terlalu besar, algoritma ini akan sama saja dengan algoritma first come first served. Jika terlalu kecil, akan semakin banyak peralihan proses sehingga banyak waktu terbuang.
Permasalahan utama pada Round Robin adalah menentukan besarnya time quantum. Jika time quantum yang ditentukan terlalu kecil, maka sebagian besar proses tidak akan selesai dalam 1 quantum. Hal ini tidak baik karena akan terjadi banyak switch, padahal CPU memerlukan waktu untuk beralih dari suatu proses ke proses lain (disebut dengan context switches time). Sebaliknya, jika time quantum terlalu besar, algoritma Round Robin akan berjalan seperti algoritma first come first served. Time quantum yang ideal adalah jika 80% dari total proses memiliki CPU burst time yang lebih kecil dari 1 time quantum.
Disingkat dengan RR. Model Penjadwalan. Penjadwalan ini merupakan :
1. Penjadwalan preemptive, bukan di-preempt oleh proses lain, tapi terutama oleh penjadwal berdasarkan lama waktu berjalannya proses, disebut preempt by time.
2. Penjadwal tanpa prioritas.
1. Jika kwanta dan proses belum selesai maka proses menjadi runnable dan pemroses dialihkan ke proses lain.
2. Jika kwanta belum habis dan proses menunggu suatu kejadian (selesainya operasi I/O), maka proses menjadi blocked dan pemroses dialihkan ke proses lain.
3. Jika kwanta belum habis tapi proses telah selesai, maka proses diakhiri dan pemroses dialihkan ke proses lain. Algoritma penjadwalan ini dapat diimplementasi sebagai berikut:
- Mengelola senarai proses read (runnable) sesuai urutan kedatangan.
- Ambil proses yang berada di ujing depan antrian menjadi running.
- Bila kwanta belum habis dan proses selesai maka ambil proses di ujung depan antrian proses ready.
- Jika kwanta habis dan proses belum selesai maka tempatkan proses running ke ekor antrian proses ready dan ambil proses di ujung depatn antrian proses ready.
A. Round Robin (RR)
Merupakan :
þ Penjadwalan yang paling tua, sederhana, adil,banyak digunakan algoritmanya
dan mudah diimplementasikan.
þ Penjadwalan ini bukan dipreempt oleh proses lain tetapi oleh penjadwal
berdasarkan lama waktu berjalannya proses (preempt by time).
þ Penjadwalan tanpa prioritas.
þ Berasumsi bahwa semua proses memiliki kepentingan yang sama, sehingga
tidak ada prioritas tertentu.
Semua proses dianggap penting sehingga diberi sejumlah waktu oleh pemroses
yang disebut kwanta (quantum) atau time slice dimana proses itu berjalan. Jika
proses masih running sampai akhir quantum, maka CPU akan mempreempt proses
itu dan memberikannya ke proses lain.
Penjadwal membutuhkannya dengan memelihara daftar proses dari runnable.
Ketika quantum habis untuk satu proses tertentu, maka proses tersebut akan
diletakkan diakhir daftar (list), seperti nampak dalam gambar berikut ini :