Computer Science and Engineering 2015, 5(1): 1-7 DOI: 10.5923/j.computer.20150501.01 A New Hybrid Process Scheduling Algorithm (Pre-Emptive Modified Highest Response Ratio Next) G. A. Shidali * , S. B. Junaidu, S. E. Abdullahi Department of Mathematics, Ahmadu Bello University, Zaria, Nigeria Abstract Highest Response Ratio Next (HRRN) scheduling is a non-preemptive discipline, in which the priority of each job is dependent on its estimated run time and the amount of time it has spent waiting. Jobs gain higher priority the longer they wait, which prevents indefinite postponement (process starvation). Also, the jobs that have spent a long time waiting compete against those estimated to have short run times. HRRN prevents indefinite postponements but is neither preemptive nor suitable for priority systems. In this research, HRRN has been modified to accommodate external priority and to include preemption. Hence, a preemptive modified HRRN (PMHRRN) algorithm has been developed. Keywords Starvation, Priority, Preemption, CPU scheduling 1. Introduction Process scheduling is a fundamental function of an operating system [1]. The main concept is to share computer resources among a number of processes. Almost each computer resource is scheduled before use [2]. The Central Processing Unit (CPU) is one of the primary computer resources, so its scheduling is essential to an operating system’s design. Process scheduling is important because it plays an important role in effective resource utilization and the overall performance of the system. The aim of process scheduling is to assign processes to be executed by the processor over time, in such a way that meets system objectives such as response time, throughput and processor efficiency [3]. Scheduling algorithms can be classified by; 1. Decision mode i.e. when do we take a scheduling decision? Categories of decision mode are non-preemptive and preemptive. 2. Selection function i.e. which process gets dispatched? Many criteria have been suggested for comparing CPU scheduling algorithms. Which characteristics are used for comparison can make a substantial difference in which algorithm is judged to be best. The following are some of the criteria. 1.1. CPU Utilization This is the percentage of time that the processor is busy [3].The CPU should be as busy as possible [1]. * Corresponding author: gloriashidali@gmail.com (G. A. Shidali) Published online at http://journal.sapub.org/computer Copyright © 2015 Scientific & Academic Publishing. All Rights Reserved 1.2. Throughput This is the number of processes that are completed per unit time [4]. The number of jobs processed per unit time should be maximized [5]. 1.3. Turnaround Time This is the interval between the time of submission of a process and the time of completion of that process [3]. The turnaround time should be minimized. 1.4. Waiting Time This is the sum of the periods a process spends waiting in the ready queue [1]. Usually, the goal is to minimize the waiting time [4]. 1.5. Response Time This is the time it takes for a process to start responding [1]. It is the amount of time between the submission of a request and the first response to the request [4]. The response time should be minimized and users maximized in an interactive system [3]. In this research, a framework to evaluate the effect of preemption on the performance of a hybrid scheduling algorithm Modified Highest Response Ratio Next (MHRRN) is proposed with the aim of minimizing waiting time, turnaround time and response time of processes. 2. Related Work 2.1. First-Come-First-Served (FCFS) FCFS is the simplest scheduling policy. With this policy,