This project implements five fundamental CPU scheduling algorithms with clear code, visual timeline representations, and detailed performance statistics.
- First-Come, First-Served (FCFS) - Non-preemptive, O(n) complexity
- Shortest Job Next (SJN) - Non-preemptive, O(n log n) complexity
- Priority Scheduling - Non-preemptive, priority-based
- Round Robin (RR) - Preemptive, time quantum-based
- Multi-level Queue Scheduling - Non-preemptive, multiple priority queues
cpuSchedulingPython/
├── main.py # Main program entry point
├── parser.py # Input parsing and data management
├── algorithms.py # Algorithm implementations
├── output.py # Output formatting and display
├── test_example.py # Test suite
└── Reports/ # Detailed documentation
├── PROJECT_REPORT.md # Complete project analysis
├── COMPLETE_PROJECT_SUMMARY.md # Project overview
├── APPENDIX_A_CODE_ANALYSIS.md # Code analysis
├── APPENDIX_B_ALGORITHM_COMPARISON.md # Algorithm comparison
└── APPENDIX_C_TROUBLESHOOTING.md # Troubleshooting guide
| Algorithm | Avg Wait Time | Avg Turnaround | CPU Utilization |
|---|---|---|---|
| FCFS | 8.6 | 8.6 | 100% |
| SJN | 4.2 | 8.2 | 100% |
| Priority | 6.8 | 10.8 | 100% |
| Round Robin | 7.4 | 11.4 | 100% |
| Multi-Level | 5.6 | 9.6 | 100% |
For detailed information, see the comprehensive documentation in the Reports/ directory:
- Project Report - Complete project analysis and implementation details
- Code Analysis - In-depth code examination
- Algorithm Comparison - Performance and characteristics analysis
- Troubleshooting Guide - Common issues and solutions
This is an educational project. Feel free to report issues, suggest improvements, or add new algorithms.