# A SCHEDULING ALGORITHM FOR MINIMIZING THE PENALTY RATIO VARIANCE

0
49

#### A SCHEDULING ALGORITHM FOR MINIMIZING THE PENALTY RATIO VARIANCE (STATISTICS PROJECT TOPICS AND MATERIALS)

ABSTRACT

Scheduling is the technique of deciding which process is given control of a computer resource at a particular time. Processes are numerous while resources– such as the central processing unit (CPU), bandwidth and memory among others – are scarce. It therefore becomes necessary for scheduling to be done. Since there is no optimal scheduling algorithm, an algorithm becomes suitable based on the scheduling criteria that the operating system is designed to uphold. This thesis focuses on the development and evaluation of the performance of a CPU scheduling algorithm that achieves service timeliness by minimizing the penalty ratio variance. The algorithm inherits properties from the round robin scheduling algorithm. The model was tested and evaluated for performance alongside the Round Robin algorithm and some modifications of it, and was found to perform better than these other algorithms on penalty ratio variance minimization. This therefore implies that the turnaround time of a process can be determined before time; and can be evaluated to be a multiple of its penalty ratio.

CHAPTER ONE

GENERAL INTRODUCTION

1.1 BACKGROUND

One of the main functions of the operating system is scheduling (BabuÂ et al.,2012). By switching the CPU among processes, the operating system can make the computer more productive (SilberschatzÂ et al, 2005). Hence, it has become an interesting and important field of research in operating systems.

By way of definition, CPU scheduling can be defined as the art of determining which process to run when there are multiple runnable processes, (Chaudharyet al.,2012). It also refers to the way processes are assigned to run on the available CPU (CurtisÂ et al.,Â 2012).CPU scheduling therefore involves selecting from the processes in memory that are ready to execute, and allocating the CPU to one of them. A process is a program in execution.

CPU scheduling is not planning since there is no optimal solution; rather it is about balancing goals and making difficult tradeoffs. A new scheduling algorithm either places emphasis on a different goal or provides a simpler way to achieve the same goals as its predecessors. The only bad scheduling policy is one that trades something for nothing or de-emphasizes one goal without an improvement in another (Meehean, 2011). There exist various CPU scheduling algorithms, each one with its advantages and disadvantages (Lenka and Ranjan, 2012). In order to measure and compare the efficiency of a scheduling algorithm some criteria were suggested (DasÂ et al., 2012). Which criteria are used for comparison can make a substantial difference in which algorithm is judged to be the best……