With CPU’s become faster and more capable of handling many programs/processes at any single time, a program is essential where the different processes of programs are manages and all given time to be processed by the CPU. The CPU has its limitations and cannot process anything at once. Enter the process Scheduler. The Scheduler helps the CPU by assigning the next process to be processed by the CPU Body
In all the operating systems, schedulers are a critical component of the CPU to getting processes done. Allowing fairness between processes that need to be completed and give over all optimal efficiency to the end user. User perceived performance is a critical part of the scheduler, this how efficient the systems seems to the human user. All processes deserve fairness in which they receive access to systems resources. This is exemplified by the round robin scheduling algorithm.
Figure 1: Simple diagram of scheduling a process
Round Robin is used to switch between real time processes. Round Robin is also used for time-share, meaning that each process is given an equal “time Slice” to be processed by the CPU. Real Time processes have the highest priority and usually over rule any other process at the time.
In Linux, the two processing scheduling algorithms used for real time processes is Round Robin and First-in-First-out (FIFO). These two scheduling algorithms allow real-time processes to be executed in a timely fashion, and a time-sharing algorithm is used for all other processes. The time-sharing algorithms are prioritized and “credit-based”. The process with the most credits is selected, and while a process is running, it loses credits every time the timer interrupts occur. A process may no longer run if it has no more credits remaining. If the process that uses the time-sharing algorithm has no credits remaining, the system assigns credits. Also meaning the higher priority processes will then receive more credits.
An