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.
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.
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.