A learning project implementing different CPU scheduling algorithms to understand core Computer Science concepts and real-world applications of data structures.
This project implements three fundamental CPU scheduling algorithms:
- First-Come, First-Serve (FCFS)
- Round Robin (RR)
- Priority Scheduling (Non-Preemptive)
Through this project, I gained hands-on experience with:
- Queue data structure (used in Round Robin scheduling)
- Vector manipulation (task management)
- Sorting algorithms (Priority scheduling)
- Object-Oriented Programming concepts
- CPU scheduling algorithms and their trade-offs
- Interactive command-line interface
- Support for multiple tasks with customizable parameters
- Real-time calculation of start and finish times
- Flexible time quantum setting for Round Robin scheduling
vector: To store and manage tasksqueue: For implementing Round Robin scheduling- Custom
Taskclass: To encapsulate task properties
- FCFS: Simple implementation using task order
- Round Robin: Uses queue for cyclic execution
- Priority Scheduling: Implements sorting based on priority
# Compile the code
g++ all_in_one.cpp -o main
# Run the executable
./main.exe- Enter the number of tasks
- For each task, provide:
- Task name
- Burst time
- Priority
- Choose scheduling algorithm from menu
- View execution results
- Add more scheduling algorithms
- Implement visualization of task execution
- Add performance metrics comparison