CPU Scheduling takes plays an important role in multiprogramming systems. There are several programs present in memory. It is the responsibility of operating systems to select the process and assign it to CPU. There are various algorithms available for CPU Scheduling. The algorithm’s performance depends on various factors like arrival time, priority etc. This paper helps to select the best algorithm by comparing various algorithms under the same condition and analyzed them based on various factors like waiting time, turnaround time, CPU utilization, Throughput.