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.

Inspiration

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:

  1. Longest Job First
  2. Shortest Job First
  3. First Come First Serve
  4. Round Robin
  5. Highest Response Ratio Next

How we built it

We built it using JavaScript, canva, Html and CSS. The backend comprises of the algorithms used in CPU scheduling.

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

Being complete newbies to JavaScript, not only did we learn the language we even successfully created a project as well as hosted it. It takes guts bro!

What we learnt

We are now masters of CPU Scheduling algorithms! xD

What's next for CPU Scheduling

We plan to inculcate more visualizations

Built With

Share this project:

Updates