Skip to content

πŸ“Š Scheduling Algorithms – Visualized An interactive Gantt Chart-based visualization of CPU scheduling algorithms to understand execution order, waiting time, and turnaround time. πŸš€ Supported Algorithms FCFS , SJF, Round Robin, Priority Scheduling

Notifications You must be signed in to change notification settings

Abhishek-kroy/scheduling-algo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Scheduling Algorithms – A Visual Approach

Efficient CPU scheduling is essential for seamless multitasking, ensuring optimal CPU utilization by determining which process runs and when. This project, offers an interactive and dynamic visualization of various scheduling algorithms to enhance comprehension of execution order, waiting time, and turnaround time.


🎯 Why CPU Scheduling?

CPU scheduling plays a vital role in maximizing system efficiency and resource utilization. Different scheduling algorithms impact key performance metrics:

  • ⏳ Waiting Time – The duration a process remains in the queue before execution.
  • βŒ› Turnaround Time – The total time from process arrival to its completion.
  • ⚑ Response Time – The time taken for the first execution after arrival.

Optimized scheduling ensures fair CPU distribution, improves system throughput, and minimizes delays.


πŸ“Œ Implemented Scheduling Algorithms

  • 🏁 First Come First Serve (FCFS) – A non-preemptive strategy where processes execute in arrival order.
  • ⏱ Shortest Job First (SJF) – Prioritizes processes with the shortest burst time to improve efficiency.
  • πŸ”„ Round Robin (RR) – Time-sliced execution ensures fairness among processes.
  • πŸŽ– Priority Scheduling – Executes processes based on priority levels rather than arrival time.

🎨 Visualizing CPU Scheduling

This project provides πŸ“Š Gantt Chart-based real-time visualization, enabling an intuitive understanding of process execution and CPU allocation.

πŸ“₯ Example: FCFS Algorithm Execution

πŸ“ Input: image

πŸ” Visualization Process: image

πŸ“ˆ Gantt Chart Representation: image

πŸ“€ Output: image


⚑ Installation & Execution

πŸ›  Setup Instructions

  1. πŸ“Œ Clone the repository:
    git clone https://github.com/your-username/scheduling-algo.git  
    cd scheduling-algo  
  2. ▢️ Run the visualization module:
    npm run dev
  3. πŸ“‘ Select a scheduling algorithm from the menu.
  4. πŸ“Š Observe execution order and Gantt Chart visualization.

🀝 Contributing to the Project

🌟 How to Contribute?

  • πŸ”„ Fork the repository.
  • 🌿 Create a new branch:
    git checkout -b feature-name  
  • πŸ’Ύ Commit your changes:
    git commit -m "Added Gantt chart animation"  
  • πŸ”— Submit a pull request.

πŸ“© Project Owner: CODE__KRATOS

About

πŸ“Š Scheduling Algorithms – Visualized An interactive Gantt Chart-based visualization of CPU scheduling algorithms to understand execution order, waiting time, and turnaround time. πŸš€ Supported Algorithms FCFS , SJF, Round Robin, Priority Scheduling

Topics

Resources

Stars

Watchers

Forks

Languages