/CPU-Scheduling

The CPU Scheduling Simulator is a web-based application designed to help users understand and compare different CPU scheduling algorithms. With an intuitive user interface, users can input the arrival times and burst times of processes and select from various scheduling algorithms to see how each one handles task execution.

Primary LanguageJavaScriptMIT LicenseMIT

CPU Scheduling Simulator

The CPU Scheduling Simulator is a web-based application designed to help users understand and compare different CPU scheduling algorithms. With an intuitive user interface, users can input arrival times and burst times of processes and select from various scheduling algorithms to see how each one handles task execution.

Features

  • User-Friendly Interface: The application provides a simple and intuitive interface for users to input process details and select scheduling algorithms.
  • Algorithm Selection: Users can choose from a range of CPU scheduling algorithms, including First Come First Serve (FCFS), Shortest Job First (SJF), Shortest Remaining Time First (SRTF), and Round Robin (RR).
  • Interactive Visualization: The simulator generates an interactive Gantt chart to visualize the scheduling sequence, allowing users to observe how processes are executed over time.
  • Output Analysis: After running the simulation, the application displays detailed output, including finish times, turnaround times, and waiting times for each process, as well as average turnaround and waiting times.
  • GitHub Integration: The project includes a link to the GitHub repository for easy access to the source code and collaboration.

Technologies Used

  • HTML: Structuring the web page layout and content.
  • CSS: Styling the appearance of the web page and components.
  • JavaScript: Implementing the CPU scheduling algorithms and interactivity.
  • jQuery: Simplifying DOM manipulation and event handling.
  • dotLottie: Integrating Lottie animations for visual appeal.
  • GitHub: Hosting the project repository for version control and collaboration.

Usage

  1. Clone the repository to your local machine.
  2. Open index.html in a web browser.
  3. Input arrival times and burst times of processes.
  4. Select a scheduling algorithm from the dropdown menu.
  5. Click the "Solve" button to run the simulation.
  6. View the output table and Gantt chart to analyze the scheduling results.

Contributing

Contributions are welcome! If you have any ideas for improvements or new features, feel free to open an issue or submit a pull request.

License

This project is licensed under the MIT License.