The thesis presents a process scheduling simulator based on the scheduler of the Linux kernel. Scheduling policies in the simulator are implemented as objects called "scheduling classes" to which processes are assigned during a simulation. The simulator collects various statistics, both on simulation level as well as per process, and presents them in an included user interface in the form of charts, along with a Gantt chart which illustrates the execution of the simulation. Precise simulation definitions allow for the use of arbitrarily processor-intensive processes that also possess the ability to alter their behaviour during the course of a simulation. In this thesis we describe the structure, settings, operation, user interface and usage of the simulator, as well as present the history, structure and operation of the Linux kernel scheduler, on which the simulator is based.
|