This text will explain every algorithm listed in the supplied document, then it will select the best algorithm and support the claim with facts.
The criteria for choosing the best algorithm circulate around according to (Arpaci-Dusseau R., 2018):
Maximizing CPU utilization.
Fairness.
Maximizing turnaround time: the time between the submission of a process and its completion.
Minimizing Response time: the time between the submission of a process and its first response.
Scheduling types according to (Arpaci-Dusseau R., 2018):
Preemptive scheduling: The OS enforces the process to leave the CPU using timer interrupts; each process can run up to the period of a p**redefined time slice**, and then it gets forced to leave the CPU and goes back to the ready queue. In the meantime, the state of the process gets carefully saved so it can continue from where it left off.
Non-preemptive scheduling: The process voluntarily gives up the CPU without OS enforcement; once a process is on the CPU, it can not be interrupted until it finishes.
Arpaci-Dusseau, R. H., & Arpaci-Dusseau, A. C. (2018). Operating systems: three easy pieces (1.01 ed.). Arpaci-Dusseau Books. Retrieved June 16, 2022, from https://pages.cs.wisc.edu/~remzi/OSTEP/.