🎯 This project is a CPU Scheduling Simulator developed as part of a college assignment. The simulator is designed to demonstrate the functionality of four fundamental CPU scheduling algorithms. It enables users to input various process parameters and visualize the scheduling results, including key performance metrics.
⚙️ The simulator implements the following CPU scheduling algorithms:
- First Come First Serve (FCFS)
- Round Robin (RR)
- First Priority First Serve (FPFS)
- Shortest Job First (SJF)
- Calculates waiting time, turnaround time, average waiting time, and running time for processes.
- Provides a real-time view of the ready queue, showing all processes waiting for execution.
- Displays the current running process, indicating the process currently being executed by the CPU.
- Allows users to input:
- Burst time
- Priority
- Type of process (e.g., GCD, LCM, Fast Power, Adding Two Numbers).
- Visualizes process scheduling with clear output metrics.
🔢 The simulator operates on four main types of processes:
- GCD (Greatest Common Divisor)
- LCM (Least Common Multiple)
- Fast Power
- Adding Two Numbers
- C++: Core programming language.
- Windows Forms: Used for creating the graphical user interface.
- Header Files: For modular code structure. patch-2
- Assembly: Handles processes at a low level. ⚙️ ======= main
- Data Structures:
- Queue
- Max Heap
- Linked List
- The user inputs process details such as burst time, priority, and process type.
- The simulator executes the selected scheduling algorithm.
- Results are displayed, showing:
- Waiting Time: Time a process spends waiting in the queue.
- Turnaround Time: Total time taken for process completion.
- Average Waiting Time: Mean waiting time of all processes.
- Running Time: Time the CPU spends executing the processes.
- Ready Queue: A real-time list of processes waiting to be executed.
- Current Running Process: The process actively being executed by the CPU.
- Clone the repository:
git clone https://github.com/your-username/cpu-scheduling-simulator.git](https://github.com/A7medhanysadek/CPU-scheduling
- Open the project in your C++ development environment (e.g., Visual Studio).
- Build and run the project.
- Use the GUI to input process details and choose a scheduling algorithm. patch-2 =======
main