|
1 | | -# React + Vite |
| 1 | +# Process Control Block Simulator |
2 | 2 |
|
3 | | -This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. |
| 3 | +This repository contains a **Process Control Block (PCB) Simulator** developed as the final project for **Semester 6** in the course **BSCS-502: Concepts of Operating Systems**. The project demonstrates the implementation of the **Round Robin Scheduling Algorithm** through an interactive and visually simulated interface. |
4 | 4 |
|
5 | | -Currently, two official plugins are available: |
| 5 | +--- |
6 | 6 |
|
7 | | -- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh |
8 | | -- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh |
| 7 | +## Key Features |
| 8 | + |
| 9 | +1. **Round Robin Scheduling**: |
| 10 | + - Simulates process scheduling using a fixed quantum size. |
| 11 | + - Displays the execution of processes with status updates (`Running`, `Ready`, `Completed`). |
| 12 | + |
| 13 | +2. **Dynamic Process Management**: |
| 14 | + - Add processes dynamically with **arrival time** and **execution time** inputs. |
| 15 | + - Set **quantum size** to control process switching. |
| 16 | + |
| 17 | +3. **Real-Time Logs**: |
| 18 | + - Generates detailed execution logs for each process. |
| 19 | + - Logs include **execution time**, **remaining time**, **status**, **clock time**, and **program counter (PC)** updates. |
| 20 | + |
| 21 | +4. **Graphical User Interface (GUI)**: |
| 22 | + - Built using **React.js** and styled with **Material-UI** for a clean, responsive design. |
| 23 | + - User-friendly input validation and feedback using **SweetAlert2**. |
| 24 | + |
| 25 | +5. **Interactive Simulation**: |
| 26 | + - Step-by-step visualization of process execution and scheduling in real-time. |
| 27 | + |
| 28 | +--- |
| 29 | + |
| 30 | +## Technologies Used |
| 31 | + |
| 32 | +- **JavaScript** (React.js for UI development) |
| 33 | +- **Material-UI** (For modern and responsive UI components) |
| 34 | +- **SweetAlert2** (For interactive and user-friendly alerts) |
| 35 | + |
| 36 | +--- |
| 37 | + |
| 38 | +## Learning Outcomes |
| 39 | + |
| 40 | +- Gained in-depth knowledge of **Process Control Blocks** and their role in operating system design. |
| 41 | +- Understood and implemented the **Round Robin Scheduling Algorithm**. |
| 42 | +- Improved skills in front-end development and real-time process simulation using JavaScript frameworks. |
| 43 | +- Learned to handle **dynamic inputs** and **log generation** for system process simulations. |
| 44 | + |
| 45 | +--- |
| 46 | + |
| 47 | +Feel free to clone and experiment with the simulator. Contributions and suggestions are welcome! 😊 |
0 commit comments