An interactive, educational web application that visualizes core Operating System concepts including CPU scheduling, memory management, and file system operations.
This OS Simulator is designed for students and educators to understand how operating systems work internally through interactive, step-by-step visualizations.
-
CPU Scheduling Algorithms
- FCFS (First Come First Serve)
- SJF/SRTF (Shortest Job First / Shortest Remaining Time First)
- Priority Scheduling (Preemptive & Non-Preemptive)
- Round Robin with configurable time quantum
-
Memory Management
- Paging simulation with page tables
- Virtual to physical address translation
- Page fault handling
- Page replacement algorithms (FIFO, LRU, Optimal, Clock)
- Segmentation with protection
- Contiguous memory allocation
-
File System
- Block-based file operations
- Multiple allocation methods (Contiguous, Linked, Indexed)
- Defragmentation tool
- Access control and permissions
-
Educational Features
- Step-by-step explanations
- Real-time Gantt charts
- Performance metrics
- Algorithm comparison mode
- Demo scenarios
Comprehensive documentation is available in the docs/ folder:
| Section | Description |
|---|---|
| 📚 Modules | Detailed documentation for each simulator |
| 🏗️ Architecture | System design, API reference, components |
| 📖 Guides | Installation, user guide, contributing |
- Python 3.8 or higher
- Node.js 16 or higher
- npm or yarn
# Clone the repository
git clone https://github.com/Ayushkumar418/OS_SIMULATOR-Web_App.git
cd OS_SIMULATOR-Web_App
# Start backend
cd backend
pip install -r requirements.txt
python main.py
# Start frontend (new terminal)
cd frontend
npm install
npm run dev- Frontend:
http://localhost:5173 - Backend API:
http://localhost:8000 - API Docs:
http://localhost:8000/docs
| Module | Description |
|---|---|
| CPU Scheduler | Process scheduling algorithms visualization |
| Paging Simulator | Page replacement algorithms demo |
| Virtual Memory | TLB, page replacement, thrashing |
| Segmentation | Memory segmentation with protection |
| Contiguous Allocator | First/Best/Worst/Next fit algorithms |
| File System | Block allocation, defragmentation |
Backend:
- Python 3.8+
- FastAPI - Modern web framework
- Pydantic - Data validation
- Uvicorn - ASGI server
Frontend:
- React 18 - UI library
- Vite - Build tool
- React Router - Navigation
- Framer Motion - Animations
- Recharts - Data visualization
Contributions welcome! See Contributing Guide.
Educational project - Free to use for learning purposes.
Happy Learning! 🎓