Operating System Project Simulation and Comparison of Short-Term-Scheduler Algorithms Student: Fasheng Qiu Instructor: Bernard Chen 04/19/2007
Introduction Scheduling is a fundamental operating-system function. CPU scheduling is central to operating system design. There are many algorithms of CPU scheduling. First-Come, First-Served Scheduling Shortest-Job-First Scheduling (preemptive or non-preemptive) Round-Robin Scheduling An intuitive understanding of the performance and use cases of various CPU scheduling algorithms is important for the algorithm designer/learner and operating-system designer. Hence, developing an easy-to-use and easy-to-understand simulation software makes sense, for either the designer or the learner.
Objectives and Design Achieve a user-friendly GUI-based system, where the user can easily simulate and compare different algorithms in any given size of testing samples ( processes ). Currently, the system was implemented and has the following functionalities: Simulation (for two algorithms) Parameters setting, global or individual Simulate algorithms, two of them Comparison (for all algorithms) Show results, textual or graphic
Parameters Setting Global parameters Number of processes Max process time Individual parameters Quantum Context switch penalty
Simulation (two algorithms) Show dynamic progress Also # of started/completed jobs
Comparison (all algorithms) All four algorithms are chosen: First come, First served Shortest Job First Preemptive Shortest Job First Round-Robin Processes and their process time are randomly generated, each controlled by a maximum value Three steps involved: Generating processes Generating algorithms Preparing timers Updating user interface
Comparison Textual show ProcessID, Length and Response & Tounaround times (the criteria in comparison of algorithms) Graphic show, can prove: FCFS: The average of waiting time in this policy is usually quite long SJF is optimal: Gives minimum average waiting time for a given set of processes RR: Typically, higher average turnaround than SJF, but better response
Conclusion and Future work Conclusion A simulation and comparison application for four cpu scheduling algorithms is provided, including two subsystems: simulation and comparison Testing more algorithms Such as multi-level scheduling algorithms
The End That’s It Thanks!