Round-robin is an algorithm in which the operating system uses a timer, called quantum, where all processes gain the same amount of quantum to rotate in the CPU.
Simplicity; easy to implement; generates time slot for each process, making the process queue does not stand still in a single process.
Very large processes can stay a long time running on the CPU, degrading the system; no process finishes running before everyone has run a little.
Multiple queues is an algorithm in which processes queues are used. Each queue has a certain priority level, and the operating system initially meets the highest priority queues, then only when a queue is emptied the scheduler moves to the next one.
Increased CPU utilization; maximize throughput; minimize turnaround; minimize waiting time; minimize response time; decreased use of resources; prioritize processes that hold key resources; no system degradation.
Behavior difficult to predict; processes never change queue.
Priority scheduling is an algorithm in which a priority is assigned to each process, and the executable process with the highest priority is allowed to run. It is implemented by a clock interruption generated at certain time intervals in order to reassess the priorities of the processes in the ready queue.
Differentiation of processes according to their importance; no high-priority process can run for an extended period; I/O-bound processes have higher priority to access the CPU.
Shortest process next or Shortest Job First (SJF)
SJF is an algorithm in which the lower processes have priority, that is, the lower process gain CPU and, behind it, a queue of processes is formed in ascending order of execution time.
Simplicity; maximize process runtime; minimize the average amount of time each process has to wait until the execution is complete.
Blocking indefinitely; we can not prioritize the execution of a larger process.
Lottery is an algorithm in which the operating system distributes numbered tokens among processes. A random number is raffled to occur scheduling and the process gain CPU utilization. Therefore, processes that have more tokens are more likely to receive the CPU.
Highly responsive (concerning the number of tokens distributed); ideal for cooperative processes (tokens donation).
Process with the highest priority can get few tokens and take a long time to run.
CPU time needed by the process to finish
Type of the process, CPU or I/O bound
Processes with long periods of processing (CPU burst) between I/O requests. This simulator assumes CPU bound processes with no I/O requests.
Process with short periods of processing between I/O requests. Processes classified as CPU bound can be classified as I/O bound when the processing power of the processor reduces the CPU burst to short intervals of time. This simulator assumes I/O bound process requesting I/O operations every "Average processing time until I/O" periods.
Number of tickets given to a process, processes with more tickets are more likely to win the lottery and execute in the CPU.
Priority of a process, processes with higher priority execute first than others with lower priority. This simulator assumes zero as the highest priority and three as the lowest one.
Maximum period of time which the process can execute in the CPU each time it is chosen by the scheduler.
Time needed in order to switch the current executing process by the one chosen by the scheduler.
Time of one I/O operation
Time to finish one I/O operation. Processes are blocked until by this amount of time when they request an I/O operation.
Average processing time until I/O
Average processing time until an I/O bound process requests an I/O operations and blocks.
Click on the button below to start the simulation. If more than one scheduling algorithm has processes then a comparison will be made.
Currently, the following algorithms have processes: