CPU scheduler plays crucial role in operating system as scheduling is its primary job. The design of operating system scheduler is proposed to hand out its resources accurately among applications. The main goal of multi-core systems is load balancing across cores. Thus methods are employed to set tasks on cores try to balance runnable tasks across available resources. All this is made to ensure fair distribution of CPU and minimize the idling of core. Current multiprocessing operating systems like Linux use a scheduling approach to enable efficient resource sharing.