Skip to content

Latest commit

 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Process Scheduling Simulator

👉 Live Demo: https://proscheduler.netlify.app/


📌 About

Welcome to the Process Scheduling Simulator, a comprehensive educational platform designed to demystify CPU scheduling algorithms through interactive visualization and hands-on experimentation.


🚀 Key Features

  • Dynamic Visualization: Interactive Gantt charts showing real-time scheduling decisions and execution flows.

    📷 Example Gantt Chart:
    Gantt Chart

  • Comprehensive Algorithm Support:

    • FCFS – First Come First Serve (Non-preemptive)
    • SJF – Shortest Job First (Non-preemptive)
    • SRTF – Shortest Remaining Time First (Preemptive SJF)
    • Priority Scheduling – Preemptive & non-preemptive priority-based execution
    • Round Robin – Time-quantum based fair scheduling
  • Interactive Process Management: Define arrival time, burst time, priority, and quantum.

  • Detailed Performance Metrics:

    • Average Waiting Time (AWT)
    • Average Turnaround Time (TAT)
    • CPU Utilization
    • Context Switches
  • Real-Time Process Tracking: Ready queue visualization, context switch indicators, and state-based color coding.


🎓 Perfect For

  • Students: Reinforce OS concepts with real-world simulations.
  • Educators: Demonstrate CPU scheduling live in class.
  • Professionals: Refresh scheduling fundamentals.
  • Enthusiasts: Explore process execution behaviors in depth.

📖 Learning Outcomes

  • Understand mechanics of different CPU scheduling algorithms.
  • Compare performance metrics across algorithms.
  • Visualize process execution flow and decisions.
  • Master concepts of waiting time, turnaround time, and response time.
  • Gain insights into real-world CPU scheduling trade-offs.

⚡ Algorithms Overview

First Come First Serve (FCFS)

  • Pros: Simple, fair, minimal overhead.
  • Cons: High waiting time, not good for short processes.

Shortest Job First (SJF)

  • Pros: Minimizes average waiting time.
  • Cons: Needs burst time prediction, starvation risk.

Shortest Remaining Time First (SRTF)

  • Pros: Responsive, good for short jobs.
  • Cons: Complex, starvation possible.

Priority Scheduling

  • Pros: Flexible, suitable for critical tasks.
  • Cons: Starvation for lower-priority tasks.

Round Robin (RR)

  • Pros: Fair, responsive, good for time-sharing.
  • Cons: High context switching, quantum size critical.

🛠️ How to Use

  1. Select an algorithm from the dropdown.

  2. Add processes with their arrival time, burst time, and (if applicable) priority or quantum.

    📷 Example Simulator UI:
    Simulator UI

  3. Run Simulation to see the execution in real-time.

  4. Analyze metrics like waiting time, turnaround time, and CPU utilization.

    📷 Example Gantt Chart Output:
    Gantt Chart


About

os

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages