Call us now Toll free : 0123-456-789
 
UP TO 5% REWARD
At vero eos et accusamus et iusto odio dignis
 
DELIVERY SCHEDULE
At vero eos et accusamus et iusto odio dignis
 
SAME DAY SHIPPING
At vero eos et accusamus et iusto odio dignis
templates/LC1220151/content/product_info_tabs.tpl.php
A SOFTWARE TOOL TO ILLUSTRATE PROCESS SCHEDULING ESSAY

A SOFTWARE TOOL TO ILLUSTRATE PROCESS SCHEDULING ESSAY

  • $0.00 

Available Options:
Download PDF:
 - OR -  Add to Wish List

A SOFTWARE TOOL TO ILLUSTRATE PROCESS SCHEDULING ESSAY

This report provides information about the development of a software tool used to illustrate process scheduling. An introduction and relevant background information are initially provided to the reader followed by details of the design and implementation as well as an exhibit of the successfully completed application and the testing and evaluation that was performed on it. Finally a conclusion is provided to summarise what was achieved and identify how the application can be further expanded and improved.

The application developed is mainly targeted towards undergraduate Computer Science students taking an Operating Systems module and it illustrates process scheduling using a graphical approach. A graphical user interface was developed to enable the user to operate the application with ease.

The development of the software tool was successfully completed and the result is a stable, user friendly, fully functional application that meets the aims and objectives initially set.

The Project proposal

Process Scheduling is one of the most important concepts of any modern Operating System and is the basis of multitasking operating systems that allow many processes to be run seamlessly at the same time. It is of such importance that it is one of the main and most important topics of many Operating Systems modules taught at universities. The project proposal is to create a Software Tool to Illustrate Process Scheduling and the idea behind it is to develop an application that can be used to visually demonstrate various popular scheduling algorithms to an audience of undergraduate computer science students.

The plan

Looking at the project from an overview it is obvious that it has two core aspects that have to be tackled. Firstly the Graphical User Interface and secondly the process scheduling algorithms. As seen in the initial project plan [appendix E] that is exactly the order that was decided to be followed for the development of the project. A more detailed look reveals that there are a number of main objectives and secondary objectives that have to be achieved.

Report Overview

A brief overview of what will follow in the report is given here. Chapter 2 (Background information) presents all necessary background information that was collected in order to pursue the project goals. It also presents the choice of platform used to implement the project.

Chapter 3 (Design) describes the main design aspects of the project commencing with the Requirements Analysis and concluding with specific designing of project parts.

Chapter 4 (Implementation) presents implementation details including all developed classes, their interconnections and details of some of the most challenging parts of coding.

Chapter 5 (Results) illustrates how the software tool works in practice by showing an example of a process list scheduled by all schedulers. Chapter 6 (Testing and Evaluation) gives details of how the software tool was tested and evaluates whether or not everything works correctly.

Chapter 7 (Conclusions) summarises what has been accomplished and what has been learned from the whole process. Furthermore this chapter gives recommendations for further activity that can be undertaken in the future on the software tool.

There are currently no product reviews
Write a review on this product!


List of Figures ................................................................................................................. v
1 Introduction ............................................................................................................ 1
1.1 The project proposal ........................................................................................ 1
1.2 The plan ........................................................................................................... 1
1.2.1 Main objectives.................................................................................2
1.2.2 Additional objectives ........................................................................ 2
1.3 Setting Milestones............................................................................................2
1.4 Report Overview.............................................................................................. 3
2 Background Information.........................................................................................4
2.1 A Process .........................................................................................................4
2.2 Scheduling algorithms ..................................................................................... 5
2.3 Semaphores......................................................................................................6
2.3.1 Deadlocks..........................................................................................7
2.4 Choice of platform ........................................................................................... 7
3 Design ...........................................................................................................9
3.1 Design approach...............................................................................................9
3.2 Requirements analysis ..................................................................................... 9
3.3 Graphical User Interface Design.................................................................... 10
3.3.1 Main Window .................................................................................10
3.3.2 Simulation Panel ............................................................................. 11
3.3.3 Add Process ....................................................................................13
3.3.4 Add Semaphore...............................................................................13
3.3.5 Visual Options ................................................................................14
3.3.6 Random Process.............................................................................. 14
3.4 Process Design...............................................................................................14
3.5 Semaphore Design .........................................................................................15
3.6 Scheduler Design ........................................................................................... 15
3.6.1 General Design................................................................................15
3.6.2 First Come First Served .................................................................. 16
3.6.3 Round Robin ...................................................................................19
3.6.4 First Job First .................................................................................. 21
3.6.5 Shortest Remaining Time First ....................................................... 23
3.6.6 Priority Scheduling ......................................................................... 25
3.6.7 Multiple Queues.............................................................................. 28
4 Implementation.......................................................................................................30
4.1 Implementation approach............................................................................... 30
4.2 Java classes ....................................................................................................30
4.3 GUI implementation ......................................................................................36
4.3.1 ProcessChart class...........................................................................37
4.3.2 SimulationJPanel class.................................................................... 38
4.3.3 VisualOptions class......................................................................... 38
4.3.4 RandomProcesses class................................................................... 38
4.4 Process class implementation ........................................................................ 39
4.5 Semaphore class implementation................................................................... 40
4.6 Implementing the schedulers ......................................................................... 40
5 Results .........................................................................................................42
6 Testing and Evaluation ..........................................................................................48
6.1 Testing and evaluating GUI parts .................................................................. 48
6.1.1 Adding processes ............................................................................48
6.1.2 Loading/Saving...............................................................................49
6.1.3 Adding Semaphores........................................................................50
6.1.4 Random Process Generator............................................................. 50
6.1.5 Visual Options ................................................................................51
6.2 Exporting result text files...............................................................................51
6.3 Testing and evaluation the schedulers ........................................................... 52
6.3.1 General tests.................................................................................... 52
6.3.2 Specific target tests ......................................................................... 53
6.3.2.1 First Come First Served ................................................ 53
6.3.2.2 Round Robin .................................................................54
6.3.2.3 Shortest Job First...........................................................54
6.3.2.4 Shortest Remaining Time First ..................................... 55
6.3.2.5 Priority Scheduling ....................................................... 55
6.3.2.6 Multilevel Queues......................................................... 56
6.3.3 Overall Scheduler evaluation.......................................................... 56
6.4 Overall application evaluation ....................................................................... 57
7 Conclusions .........................................................................................................58
7.1 Accomplishments........................................................................................... 58
7.2 Possible further activity ................................................................................. 58
7.3 Final conclusions ...........................................................................................59
References .........................................................................................................60
Appendix A - Example of the operation of the system...............................................61
Appendix B - Advantages/Disadvantages of each scheduling strategy .................... 72
Appendix C - GUI Design sketches..............................................................................76
Appendix D - Class diagrams.......................................................................................80
Appendix E - Project Plan & Code count report ....................................................... 91
List of Figures
2.1 State diagram of a process .....................................................................................4
2.2 Process flow diagram.............................................................................................5
2.3 Mutual exclusion using a semaphore..................................................................... 6
2.4 Deadlock example..................................................................................................7
3.1 Simulation Panel Visual parts.............................................................................. 11
3.2 Simulation Panel Statistical parts......................................................................... 12
3.3 Add Process frame ...............................................................................................13
3.4 Example of required process burst times ............................................................. 14
3.5 Example of textual representation of a process using semaphores...................... 15
3.6 FCFS doSchedule() diagram................................................................................18
3.7 Round Robin doSchedule() diagram.................................................................... 20
3.8 Shortest Job First doSchedule() diagram .............................................................22
3.9 Shortest Remaining Time First doSchedule() diagram........................................ 24
3.10 Priority Scheduling doSchedule() diagram.......................................................... 27
3.11 Multilevel Queues Scheduler priority distribution ..............................................28
3.12 Multilevel Queues doSchedule() diagram ........................................................... 29
4.1 Diagram of Java classes....................................................................................... 35
4.2 Main window layout ............................................................................................36
4.3 ProcessChart panel...............................................................................................37
5.1 FCFS schedule .....................................................................................................43
5.2 RR schedule .........................................................................................................44
5.3 SJF schedule.........................................................................................................45
5.4 SRTF schedule.....................................................................................................46
5.5 Priority schedule ..................................................................................................47
5.6 Multilevel Queues schedule................................................................................. 48

Extra Info
This product was added to our catalog on .
Notify me of updates to A SOFTWARE TOOL TO ILLUSTRATE PROCESS SCHEDULING ESSAY
Tell someone you know about this product.