Project Materials

GENERAL

Process Scheduling in Longest Job First (LJF) Algorithm: A Proposed Framework for Starvation Problem

[ad_1]

in Job First () : A Framework for Problem

ABSTRACT

Process as an individualistic program in execution forms the bases of everything in the computer system functionality, Central Processing Unit (CPU) becomes the main target of every process execution. The best ordering and sequence of assigning these processes to the CPU becomes the most difficult problem to obtain best performances. This thesis work in the field of CPU scheduling by carefully studying all popular scheduling algorithms thereby proposing an option to the most uncommon scheduling algorithm: Job First (), to compete along side others. The major problem leading to starvation was reduced by proposing a model into the . The model was designed and tested thereby suggesting ways by which could be enhanced to solve parts of the starvation problems, waiting times and context switches.

TABLE OF CONTENTS

Declaration ……………………………………………………………………………………………………………………………. i
Certification ………………………………………………………………………………………………………………………….. ii
Dedication ……………………………………………………………………………………………………………………………. iii
Acknowledgement…………………………………………………………………………………………………………………. iv
Abstract ……………………………………………………………………………………………………………………………….. v
Table of Content ……………………………………………………………………………………………………………………. vi
List of Tables ………………………………………………………………………………………………………………………… ix
List of Figures ………………………………………………………………………………………………………………………… x
List of Abbreviations ………………………………………………………………………………………………………………. xi
CHAPTER ONE ………………………………………………………………………………………………………………………. 1
GENERAL INTRODUCTION ……………………………………………………………………………………………………….. 1
1.0 INTRODUCTION ……………………………………………………………………………………………………. 1
1.1 OBJECTIVES OF STUDY …………………………………………………………………………………………… 3
1.2 SIGNIFICANCE OF STUDY ……………………………………………………………………………………….. 3
1.3 RESEARCH QUESTIONS ………………………………………………………………………………………….. 3
1.4 SCOPE ………………………………………………………………………………………………………………… 3
1.5 METHODOLOGY …………………………………………………………………………………………………… 3
1.6 ORGANIZATION OF THESIS …………………………………………………………………………………….. 4
CHAPTER TWO ……………………………………………………………………………………………………………………… 5
LITERATURE REVIEW………………………………………………………………………………………………………………. 5
2.0 INTRODUCTION ……………………………………………………………………………………………………….. 5
2.1 ES/ MULTIPROGRAMMING……………………………………………………………………………. 6
2.2 SCHEDULING …………………………………………………………………………………………………………… 7
2.3 SCHEDULERS …………………………………………………………………………………………………………… 9
2.3.1 Long-term Scheduler/admission Scheduler ……………………………………………………………. 9
2.3.2 Mid/Medium-term Scheduler ……………………………………………………………………………..10
2.3.3 Short-term Scheduler/CPU scheduler …………………………………………………………………..10
2.4 DISPATCHER ……………………………………………………………………………………………………………11
2.5 SCHEDULING ALGORITHMS IN OPERATING SYSTEM. ……………………………………………………..12
2.5.1 First Come First Served (FCFS) …………………………………………………………………………….12
2.5.2 Shortest Job First/ Shortest Remaining Processing Time (SJF/SRPT) …………………………..14
2.5.3 Priority scheduling ………………………………………………………………………………………………….17
2.5.4 Round-Robin (RR) ……………………………………………………………………………………………..18
2.5.5 Job First () ………………………………………………………………………………………..18
2.6 RELATED WORK ……………………………………………………………………………………………………….19
CHAPTER THREE ……………………………………………………………………………………………………………………23
STARVATION MODEL ……………………………………………………………………………23
3.0 INTRODUCTION ……………………………………………………………………………………………………….23
3.1 APPROACH OF THE MODEL ……………………………………………………………………………………….24
3.1.1 Analysis of the CBT model ………………………………………………………………………………….26
3.2 CBT ALGORITHM ……………………………………………………………………………………………………..27
CHAPTER FOUR …………………………………………………………………………………………………………………….28
IMPLEMENTATION AND TEST OF THE CBT MODEL ………………………………………………………………………28
4.0 INTRODUCTION ……………………………………………………………………………………………………….28
4.1 CASE ASSUMPTION ………………………………………………………………………………………………….28
4.2 SIMULATION FRAME WORK ………………………………………………………………………………………28
4.2.1 Processes Case 1……………………………………………………………………………………………….29
4.3 CBT PERFORMANCE EVALUATION ………………………………………………………………………………31
4.4 EXPERIMENT CASE …………………………………………………………………………………………………..32
4.4.1 First Come First Served (FCFS) …………………………………………………………………………….32
4.4.2 Shortest Job First (SJF) ……………………………………………………………………………………….34
4.4.3 Round Robin ……………………………………………………………………………………………………..36
4.4.4 Priority ……………………………………………………………………………………………….38
4.4.5 Job First () ………………………………………………………………………………………………40
4.4.6. Job First + CBT ………………………………………………………………………………………42
4.5. COMPARING EXISTING SCHEDULING ALGORITHMS WITH +CBT …………………………………..45
4.5.1 Comparing FCFS and +CBT ……………………………………………………………………………..45
4.4.2 Comparing SJF and +CBT ………………………………………………………………………………..46
4.4.3. Comparing and +CBT ………………………………………………………………………………..46
4.4.4 Comparing RR and +CBT …………………………………………………………………………………46
4.4.5 Comparing Priority and +CBT …………………………………………………………..46
4.5. RESULTS DISCUSSION AND CONCLUSION …………………………………………………………………….47
CHAPTER FIVE……………………………………………………………………………………………………………………….53
5.0 SUMMARY, CONCLUSION AND RECOMMENDATION ……………………………………………………..53
5.1 Summary………………………………………………………………………………………………………………..53
5.2 Future work ……………………………………………………………………………………………………………54
5.3 Conclusion ……………………………………………………………………………………………………………..54
References …………………………………………………………………………………………………………………………..55
APPENDIX A: RESULTS OF THE SIMULATION IN LOG.TXT ………………………………………………………………58
APPENDIX B: JAVA SOURCE CODES OF THE +CBT …………………………………………………………………….63

CHAPTER ONE

GENERAL INTRODUCTION

1.0 INTRODUCTION

Process scheduling algorithms has been an interesting field of study in Operating Systems.

is a key concept in computer multitasking, multiprocessing and real-time operating system designs.
refers to the way processes are assigned to run on available Central Processing Unit (CPU) (Galvin, 2004). Each Process (a program in execution) passes through some stages in their execution and allocation to CPU as will be illustrated in process-state diagram. A Process is started at arrival time which gets into the Ready Queue based on some scheduling algorithm and waits for the Job scheduler/ dispatcher which decide on what scheduling algorithm to use. The process state diagram of Fig 1.1 illustrates this.

Figure 1.1: Process state diagram

The process state is as follows:

a. New: Where processes enters the system.

b. Ready: It is a stage where queues are used to order the manner in which jobs arrived

c. Running: The Scheduler and Dispatcher, based on selected algorithms, move Ready jobs to Running, a job may be pre-empted back to the ready depending on the scheduling algorithm in use.

d. Waiting: On a request for an I/O and later rescheduled on completion of request.

e. End/Exit: Process terminates.

At the moment, based on literature, there isn’t a world most preferable scheduling algorithm (Stallings, 2000) as most operating systems use the most common scheduling algorithms which include: First Come First Serve (FCFS), Shortest Job Next (SJN), Shortest Job First (SJF), Round Robin (RR) and Priority as an extension or the combination of two or more scheduling algorithm.

In this research, some of the existing scheduling algorithms basically the Shortest Job First (SJF) and the Job First () algorithm will be looked into while putting latency and minimising total waiting time to achieve maximum utilization of the Central Processing Unit (CPU).

Furthermore, we propose a frame work to deal with the starvation (A condition that make processes waits stagnantly and denied allocation to the CPU) problems to curtail the convoy (A long queue of waiting processes) problem through fairness to shorter processes.

This research will also be focusing on making the Job First () the approach to test and suggest how best the Shorter Jobs gets fairer allocation to the CPU through backfilling and combination of shorter jobs through ageing and burst-times merging. The process will be gaining access through comparing the merged burst-time and the incoming longer jobs.

1.1 OBJECTIVES OF STUDY

The objectives of this work is to minimise the overall waiting time and minimise the numbers of context switching of processes in a multiprocessing system; thereby coming up with a framework that will make fair consideration to shorter jobs on queue and suggest efficient time closer to the Longer Jobs in execution to minimise starvation in .

1.2 SIGNIFICANCE OF STUDY

The research hopes to make a contribution to the existing problem faced by operating system by minimizing the starvation problem to achieve maximum efficiency, throughput, and CPU utilization by minimizing the overall waiting time of processes.

1.3 RESEARCH QUESTIONS

a. When does compete with other algorithms?

b. Under what environment does perform better than SJF, RR and FCFS?

c. Can problem be minimised in a multiprocessor environment using ?

1.4 SCOPE

The research will be focusing on the scheduling algorithm for Longer Job processes and propose a framework towards reducing long delays in queues. Shorter jobs will be merged up to make them a bit considerable to reduce starvation through fairness. The scope of this work is limited to reducing starvation problems and minimizing the overall waiting times and average turn-around time.

1.5 METHODOLOGY

These are approaches and series of steps to be taken in actualising our research objectives:

a. The first consideration on this work will be the generation of the processes using Random Number generators with an appropriate statistical distribution (Poisson and Exponential average).

b. The burst-time for each process will also be generated through a distribution.

c. Analysing the processes generated on Gantt charts and calculations of general process properties will be acquired and kept for comparison at the final Chapter.

d. Conditions for merging processes will be stated and designed by some algorithm and tested as implementation using Java and later a dispatch and schedule of the merged short jobs will be moved into the CPU by our algorithm.

1.6 ORGANIZATION OF THESIS

The thesis will be focusing on proposing a framework that will minimise starvation of processes in Job First () scheduling algorithm through merging shorter jobs (Combinational Burst Time CBT) to maximise total utilization of the CPU to minimize total waiting time of the processes in the system.

Chapter two will be discussing on the existing literatures and researches conducted in the field of process scheduling.

Chapter three discusses the methodologies adopted to design the proposed framework for solving starvation problems in the Job First () scheduling algorithm.

Chapter four will focus on the implementation and testing of the proposed algorithm.

Chapter five will summarise the work and propose areas for future work.

[ad_2]

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Advertisements