Round Robin CPU Scheduling
Overview
This project is a command line tool that was created to simulate the Round Robin CPU scheduling algorithm that may be used by a computer’s operating system.
The generated output can be analyzed to show how different time quantums may affect the overall performance of an operating system that uses Round Robin scheduling.
CPU Scheduling
When using a multitasking operating system, many processes must compete for execution by the computer’s CPU. A scheduling algorithm is used to determine the order in which processes are executed, and for how long. The scheduling algorithm impacts the overall performance of the system.
The goals of CPU scheduling are to maximize CPU utilization, maximize throughput, minimize turnaround time, minimize waiting time, and minimize response time.
- Utilization is the percentage of time that the CPU is processing a task compared to the amount of time that it is idle.
- Throughput is the number of processes that are completed for a certain unit of time.
- Turnaround time is the total amount of time it takes for a process to finish executing.
- Waiting time is the amount of time the process spends in the ready queue, which means the process is outside of the CPU waiting for execution.
- Response time is the amount of time it takes until the CPU begins to execute a process after that process has requested execution.
Round Robin Scheduling
Round Robin is a scheduling algorithm that divides CPU execution time equally among all processes that are ready to be executed. The algorithm uses a specified time quantum, which indicates the amount of time each process gets to spend executing on the CPU. Each process executes in the order that it arrives in the ready queue. If one CPU cycle is not enough, it is inserted at the end of the queue and waits until it can be executed again. This cycle continues for all processes until they are complete.
Technologies Used
View the Source Code on GitHub