One of the fundamental functions of an operating system is scheduling. There are 2 types of uniprocessor operating system in general. Those are uni-programming and multi-programming. Uni-programming operating system execute only single job at a time while multiprogramming operating system is capable of executing multiple jobs concurrently. Resource utilization is the basic aim of multiprogramming operating system. There are many scheduling algorithms available for multiprogramming operating system. Their paper focuses on design and development aspect of new and novel scheduling algorithm for multi-programming operating system in the view of optimization.