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,