Scheduling algorithms allow one to decide which threads are given to resource from moment to moment. Various process scheduling algorithms exist and this paper focuses on the scheduling algorithms used for scheduling processes in a multiprogramming system namely First-Come-First-Served (FCFS), Round Robin (RR), Shortest Job First (SJF), Shortest Remaining Time First (SRTF) and Lottery scheduling. Each algorithm has been discussed and a comparison was made on the basis of eight (8) parameters significant in processes scheduling. In fact, compared to other papers, this research made use of more parameters for the analysis. These parameters include CPU utilization, throughput, waiting time, response time, fairness, starvation, predictability and preemption. From this analysis, we showed that there is actually no scheduling algorithm satisfying the conditions of an ideal algorithm and concluded that further studies which improve current scheduling algorithms need to be done.