What is CPU Scheduling?
CPU Scheduling is a process that allows one process to use the CPU while another process is delayed (in standby) due to unavailability of any resources such as I / O etc, thus making full use of the CPU. The purpose of CPU Scheduling is to make the system more efficient, faster, and fairer.
Studying these Scheduling Algorithms as a part of our curriculum, and understanding how they work was very burdensome, and difficult to learn. We often used to forget the steps! But no longer! We have come up with Schedulizer to help the students as well as teachers to learn and understand how these Algorithms work through amazing Visualizations, Gantt Charts particularly!
What it does
Schedulizer visualizes several CPU(Job) Scheduling algorithms through user-defined inputs in the form of Gantt Charts. Job scheduling algorithms help CPU allocate resources. You are given a set of n jobs where each has a deadline and profit associated with it. Each job takes one unit of time to complete, and only one job can be scheduled at a time.
It helps professors deliver complex algorithms to students better. You can change the input, values and visually see the change in output.
It helps visualise the following algorithms:
- Longest Job First
- Shortest Job First
- First Come First Serve
- Round Robin
- Highest Response Ratio Next
How we built it
Challenges we ran into
This idea doesn't exist for the used algorithms and so it was very hard to be creative and design code it from scratch.
Accomplishments that we're proud of
What we learnt
We are now masters of CPU Scheduling algorithms! xD
What's next for CPU Scheduling
We plan to inculcate more visualizations