CPU Scheduling Simulator (CSS) Project in C# PHP or Android
By: Prof. Dr. Fazal Rehman | Last updated: March 3, 2022
CPU Scheduling Simulator (CSS) Project in C# PHP or Android
Project Domain / Category
Desktop Programming
Abstract/Introduction
Operating System (OS) is the most important software that runs on the computer. It not only manages hardware, memory, and other resources but it’s also responsible for optimizing computer performance. It interacts with I/O devices and user’s programs and applications. You cannot expect to use a computer without an operating system.
Figure: CPU Scheduling Simulator (CSS) Project in C# PHP or Android
One of the key concepts in OS design is CPU scheduling (or processor scheduling). CPU scheduling dramatically affects performance of the system because it determines which processes will wait and which will progress. Because OS also acts as a resource manager, it must make the best use of CPU. This project – CPU Scheduling Simulator (CSS) – focusses on CPU scheduling. CSS will simulate following scheduling algorithms:
First Come First Serve Scheduling
Shortest Job First Scheduling (SJF)
Shortest Remaining Time First Scheduling (SRTF) – preemptive version of SJF
Priority Scheduling
Round Robin Scheduling
CSS will accept workload from user and then calculate following for each scheduling algorithm:
Waiting time of each process
Turnaround time of each process
Average waiting time of given workload
Average turnaround time of given workload
Gantt chart indicating schedule of each process
Benefits
This project will help students to:
Solidify their OS concepts that they have already learnt in CS604 course
Appreciate the importance of CPU scheduling as a basis for multiprogramming
Enhances their data structures & algorithms implementation skills
Functional Requirements
The system will prompt the user to either enter workload manually or load from a file.
In case of manual entry, system will prompt the user to enter total number of processes, arrival time, burst time, priority, and time quantum
In case of file loading, these parameters will be in a simple, comma separated text file
User must have the option to either run algorithms individually or all at the same time for comparison purposes
System should display waiting time and turnaround time of each processes, and their averages.
User should be able to view Gantt chart of scheduled processes