IJSRST173879 | Received : 10 Nov 2017 | Accepted : 24 Nov 2017 | November-December-2017 [(3)8: 344-348] © 2017 IJSRST | Volume 3 | Issue 8 | Print ISSN: 2395-6011 | Online ISSN: 2395-602X Themed Section: Science and Technology 344 Customary Methods for CPU Scheduling : A Review Badal Dave 1 , Surendra Yadav 2 , Manish Mathuria 3 1 M.Tech Scholar, Department of Computer Science & Engineering, MACERC, Jaipur, Rajasthan, India 2 Prof., Department of Computer Science, Career Point University, Kota, Rajasthan, India 3 Asst. Prof., Department of Computer Science & Engineering, MACERC, Jaipur, Rajasthan, India ABSTRACT Among variety of process the scheduling is one of the most important decisions making practice of an operating system for sharing machine resources in between the several of executable process which persist in memory. Typically, scheduling is a decision making task of an operating system to decide which process will get system resources to complete process in an optimum way. For scheduling a number of approaches have introduced by number of investigators and a lot of works are in progress with optimizing the issues of existing algorithms. This paper deals with the exploration of different accessible scheduling procedures to recognize high efficient algorithm which suits the scheduling goals, minimize average turnaround and waiting time in order to allow as many as possible running processes at all time in order to make best use of CPU. Keywords: CPU, Scheduling, Operating System, Scheduling Algorithms. I. INTRODUCTION In modern digital era, scheduling is a hot research term in the world of real time systems. However, different forms of this technique have been used in dissimilar fields over the past era but with speedy technological escalation it has attains a dramatic progress and became as an essential component of any real time system in present time. Typically, scheduling is a decision making technique that deals with the problem of sharing system resources over the numerous process in an optimum way [1]. A system QOS and optimum resource sharing highly depends on the efficiency of scheduling techniques that has been used in a system at the time of process execution. This practice can be further classified into two main root categories [2] i.e. (i) Static scheduling (ii) Dynamic scheduling. Static scheduling has done at the time of program compilation, tasks has been scheduled before starting the real execution of program and have no option to reschedule the order of tasks or add new tasks at run time [3]. However, due to some rewards this technique confirms its efficiency over the other accessible practice but has suffers due to some of its limitation. Unlike to static scheduling scheme, the technique of dynamic scheduling schedules the task upon their arrival i.e. at run time. Dynamic scheduling is akin to a data flow machine, in which tasks don't scheduled based on the order in which they appear, but manage in a parallel form on base of their arrival time with some dynamic parameters that may change during run time. Apart of unique advantage to manage tasks at run time this technique does not require any recompilation process after adding of new task that would not be visible with compile time scheduling scheme [4]. Following figure has illustrated the basic states of a process. Figure 1. Process State Diagram Different state of process can be point out as