Here is the updated README.md file tailored to your exact problem statement:
The Intelligent CPU Scheduler Simulator is a project aimed at simplifying and enhancing the understanding of CPU scheduling algorithms through real-time visualizations. This simulator allows users to input process details such as arrival time, burst time, and priority, and provides a dynamic interface to visualize Gantt charts and compute key performance metrics like average waiting time and turnaround time.
Efficient CPU scheduling is essential for optimizing system performance in operating systems. However, students, developers, and researchers often face challenges in comprehending how different algorithms allocate CPU time and how they affect system efficiency.
The Intelligent CPU Scheduler Simulator is designed to address these challenges by offering:
- A user-friendly platform to experiment with scheduling algorithms.
- Real-time visualizations to depict process execution.
- Detailed performance metrics for comparison and analysis.
-
Algorithms Supported:
- First-Come, First-Served (FCFS)
- Shortest Job First (SJF)
- Priority Scheduling (Preemptive and Non-Preemptive)
- Round Robin (with customizable time quantum)
-
Dynamic Input:
- Add, modify, or delete processes with parameters like arrival time, burst time, and priority.
-
Real-Time Visualizations:
- Interactive Gantt charts to represent scheduling.
- Performance metrics including average waiting time, turnaround time, and throughput.
-
Interactive User Interface:
- Dropdown selection for scheduling algorithms.
- Editable table for process details.
- Responsive and accessible design.
-
Performance Comparison:
- Compare scheduling algorithms based on computed metrics.
- Real-time updates with each input change.
- HTML5 and CSS3: For structuring and styling the user interface.
- JavaScript (ES6): For implementing scheduling logic and rendering real-time charts.
- Chart.js: To display Gantt charts and performance metrics.
- FCFS: Processes are executed in the order of their arrival.
- SJF: Shortest burst time processes are executed first.
- Priority Scheduling: Processes with higher priority are executed first.
- Round Robin: Processes are executed in cyclic order with a fixed time quantum.
- User inputs process details through the interface.
- Selected scheduling algorithm processes the data.
- Results are displayed via Gantt charts and performance metric tables.
| Component | Technology |
|---|---|
| Frontend | HTML5, CSS3, JavaScript |
| Charting Library | app.js |
| Algorithm Logic | JavaScript (ES6) |
| Code Editor | VS code |
-
Clone the repository:
git clone https://github.com/Utkal9/Intelligent-CPU-Scheduler-Simulator.git cd Intelligent-CPU-Scheduler-Simulator -
Open the
index.htmlfile in your preferred browser. -
Start simulating and analyzing CPU scheduling algorithms!
-
Input Processes:
- Add process details such as arrival time, burst time, and priority using the input form.
-
Select Scheduling Algorithm:
- Choose one of the supported algorithms from the dropdown menu.
-
Visualize Results:
- View the Gantt chart and detailed performance metrics on the results panel.
-
Experiment & Analyze:
- Modify process inputs or switch between algorithms to observe different outcomes.
- Add Preemptive SJF and Round Robin support.
- Include export options for saving Gantt charts and metrics as PDF or Excel files.
- Enable dark mode for accessibility.
- Introduce a tutorial mode for beginners to learn scheduling algorithms step by step.
This project is licensed under the MIT License.

