The round-robin (RR) CPU scheduling algorithm has
advantages and disadvantages. An advantage of RR is
that starvation is never a problem. RR ensures that all
processes in the job (process) queue share a time slice on
the processor. Time slicing is defined as the allocation of
limited intervals of time (quanta) to programs in
contention for use of the CPU. A time slice is simply an
amount of time that each job (process) will spend on the
processor per iteration of the RR algorithm. All jobs are
done in a FCFS algorithm fashion but are preempted after
a time slice. The job will either finish in the time slice
given or the job will be returned to the tail of the job
queue and return to the processor at a later time. This is a
disadvantage since all jobs are basically given the same
priority. RR also favors short virtual processes and
penalizes long ones.