Latest Activity In Study Groups

Join Your Study Groups

VU Past Papers, MCQs and More

We non-commercial site working hard since 2009 to facilitate learning Read More. We can't keep up without your support. Donate.

CPU Scheduling Simulator (CSS) CS619 Final Project Spring 2019  

CPU Scheduling Simulator (CSS)



Project Domain / Category

Desktop Programming






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


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




This project will help students to:


  1. Solidify their OS concepts that they have already learnt in CS604 course


  1. Appreciate the importance of CPU scheduling as a basis for multiprogramming


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



Tools & Technologies:


Language: Java

Database: MySQL Community edition

IDE: NetBeans or intelliJ IDEA or Eclipse



Name:                Muhammad Umair Mujahid


Skype ID:

Views: 60

© 2021   Created by + M.Tariq Malik.   Powered by

Promote Us  |  Report an Issue  |  Privacy Policy  |  Terms of Service