Welcome to my Web CPU Process Scheduler! This project simulates various CPU scheduling algorithms and provides visual results, including average waiting and turnaround time, along with Gantt charts.
Hello! Welcome to our CPU Process Scheduler. This scheduler has been implemented using HTML, CSS, and JavaScript to help visualize and understand different CPU scheduling algorithms.
- 👥 First-Come, First-Served (FCFS)
- 🕒 Shortest Job First (SJF)
- ⏳ Shortest Remaining Time First (SRTF)
- 🔄 Round Robin (RR)
- 🎖️ Priority Scheduling
- 📊 Visual results of average waiting and turnaround time
- 🖼️ Gantt charts for each scheduling algorithm
To run this project locally, you'll need:
- A modern web browser (e.g., Chrome, Firefox, Safari)
- Basic knowledge of HTML, CSS, and JavaScript
-
Clone the repository:
git clone https://github.com/22pt16/process-scheduler.git
-
Navigate to the project directory:
cd process-scheduler
-
Open
index.html
in your preferred web browser:open index.html
- Open the CPU Process Scheduler in your web browser.
- Select a scheduling algorithm from the provided options.
- Input the required process details (arrival time, burst time, priority, etc.).
- Click the "Schedule" button to view the results.
- Visual results will display the average waiting time, turnaround time, and Gantt chart.
Or check out the project working from the deployment link: https://22pt16.github.io/Process_Scheduler/
Processes are scheduled in the order they arrive in the ready queue.
Processes with the shortest burst time are scheduled first.
Preemptive version of SJF where the process with the shortest remaining time is scheduled next.
Each process is assigned a fixed time slice (quantum) and processes are scheduled in a cyclic order.
Processes are scheduled based on their priority. Higher priority processes are scheduled first.
- There is currently an issue with the Round Robin (RR) Gantt charts. If you encounter any problems or have suggestions for improvement, please open an issue or contribute a fix.
Contributions are welcome! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch for your feature or bugfix:
git checkout -b feature-name
- Commit your changes:
git commit -m 'Add some feature'
- Push to the branch:
git push origin feature-name
- Open a pull request.
Thank you for exploring the Web CPU Process Scheduler! If you have any questions or feedback, feel free to open an issue. Happy scheduling! 🕹️