Designed for time sharing systems. It is like FCFS but it is preemptive so processes may be switched at any time. A small unit of time in this algorithm is called a time quantum/slice and generally lasts from 10-100 milliseconds.
The ready queue is a circular queue. It goes around the queue and allocates the CPU to all of them it passess through for one time quantum. The queue is created in the format of FCFS.
Processes that are completed within 1 time quantum are completed, those that are not are sent to the end of the line with saved context.
Turnaround time = completion time - arrival time
Waiting time = turnaround time - burst time
OR
Waiting time = last start time - arrival time - (Preemption * time quantum)