An interactive web application for visualizing and analyzing different CPU scheduling algorithms. Perfect for learning how operating systems allocate CPU time to processes.
-
Four Scheduling Algorithms
- FCFS (First Come First Served)
- SJF (Shortest Job First)
- Round Robin (RR)
- Priority Scheduling
-
Interactive Visualizations
- Animated Gantt Chart with play/pause controls
- CPU Activity Timeline
- Process Flow Diagram
- Algorithm Comparison Table
-
Comprehensive Metrics
- Average Waiting Time
- Average Turnaround Time
- CPU Utilization
- Context Switches
- Per-process statistics
-
Data Export
- CSV format for spreadsheets
- JSON format for integration
- TXT format for documentation
-
User-Friendly Interface
- Preset process loads (Light, Medium, Heavy)
- Custom process creation
- Real-time algorithm comparison
- Interactive help system
- Open the application in your browser
- Choose a scheduling algorithm from the dropdown
- Click "Run Scheduler" to visualize the scheduling
- Explore the results with interactive charts
- Click the "Add Process" tab
- Enter Process ID (e.g., P1)
- Enter Arrival Time and Burst Time
- For Priority scheduling, enter Priority value
- Click "Add Process"
- Click the "Presets" tab
- Select Light, Medium, or Heavy load
- Processes are automatically added
- Processes execute in order of arrival
- Simple but may cause starvation for short processes
- Best for batch systems
- Process with shortest burst time executes first
- Minimizes average waiting time
- Risk of starvation for long processes
- Each process gets a time quantum (default: 3)
- Fair scheduling, prevents starvation
- Higher context switching overhead
- Best for interactive systems
- Processes execute by priority (lower value = higher priority)
- Can be preemptive or non-preemptive
- Risk of starvation for low-priority processes
- Best for real-time systems
- Waiting Time: Time process waits in queue before execution
- Turnaround Time: Total time from arrival to completion
- CPU Utilization: Percentage of time CPU is busy
- Context Switches: Number of times CPU switches processes
After running the scheduler, export your results:
- CSV: Open in Excel or Google Sheets for analysis
- JSON: Use for integration or programmatic analysis
- TXT: Human-readable format for documentation
Exports include:
- All process information
- Execution schedule
- Overall statistics
- Per-process metrics
- Start Simple: Begin with default processes to understand basics
- Compare Algorithms: Run the same processes with different algorithms
- Test Under Load: Use presets to test algorithms under different loads
- Analyze Trade-offs: Compare metrics to understand algorithm strengths/weaknesses
- Custom Scenarios: Create specific scenarios matching your use case
Use the comparison table to quickly see which algorithm performs best for your process set:
- Green highlight shows best performance
- Compare waiting time, turnaround time, and total execution time
- Identify the most suitable algorithm for your scenario
- Click the Help (?) button for interactive guidance
- Hover over descriptions for more details
- Read the About section for comprehensive information
- Check algorithm descriptions for detailed explanations
- Learning operating system concepts
- Understanding process scheduling
- Comparing algorithm performance
- System optimization analysis
- Performance evaluation
- Documentation and reporting
- Algorithm comparison studies
- Performance benchmarking
- System design analysis
No results showing?
- Ensure you have processes added
- Click "Run Scheduler" after selecting an algorithm
Results look unexpected?
- Check process arrival and burst times
- Verify algorithm selection
- Review algorithm descriptions
Export not working?
- Ensure you have run the scheduler
- Check browser's download settings
- Try a different export format
- Additional scheduling algorithms
- Process preemption support
- Advanced filtering and sorting
- Custom time quantum configurations
- Performance comparison charts
- Historical result tracking
- React / Next.js 16
- TypeScript
- Canvas API for visualizations
- Tailwind CSS for styling
- shadcn/ui for components
Educational use - Feel free to use for learning and teaching purposes.
Happy scheduling! 🚀