/scheduling-algo

📊 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

Primary LanguageJavaScript

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