Round-robin scheduling is an algorithm used to assist in creating process or job schedules to ensure that each process required to complete a job gets an ample amount of run time. CPUs in computers can use time slicing to provide a set amount of time for each process to use per cycle.
Using round-robin scheduling allots a slice of time to each process that is running. In a computer for example, the user starts three applications, Email, a web browser, and a word processor. These applications are loaded into system memory as processes and each is allowed to run without the user considering which applications are running in the background.
Round-robin scheduling handles the sharing of resources between the three application processes (and the countless others running in the background completely invisible to the user). This scheduling works well because each application gets a certain amount of time per processor cycle. A processor cycle is the amount of time it takes the CPU to manage each process running, one time.
The running applications in the earlier example provide a short cycle for the processor and more time would be allotted to each of these three processes, making them appear to perform better to the end user. Without round robin scheduling, the application loaded first into memory would likely monopolize the processor until it was finished performing any of the tasks it had been assigned. When that application closed, the next application could start and process without interruption. This would get in the way of the multi-window environments on which computer users have come to depend. The use of round-robin scheduling helps the computer keep up with the end user and effectively manage all three application processes.
Round-robin scheduling keeps all of the running jobs or processes progressing forward a little bit at a time, during each processor cycle, to help them all run together and improve the usability experience for the person working with the system. The CPU will then poll each task that is running during a cycle to help determine if the process has finished.
Suppose the user decides that they have completed their work in the word processor application and closes it. This leaves only the e-mail and web browser applications running. The CPU would have no way of keeping track of this fact without round-robin scheduling to poll the applications and discover that the word processor has closed and is no longer needing any processor time.