An interactive web-based simulator to visualize and understand deadlocks in operating systems using Resource Allocation Graphs (RAG).
- 🎯 Create Processes and Resources dynamically
- 🔗 Add Request (P → R) and Allocation (R → P) edges
- 🔍 Detect deadlocks using cycle detection
- 🔴 Highlight deadlock cycles visually
- 📖 Clear step-by-step explanation of deadlock conditions
- 🔁 Undo / Redo support
- ❌ Add / Delete nodes and edges
- 🔤 Case-insensitive input handling
- 🎬 Animated cycle highlighting
- 📘 Built-in learning page for deadlock concepts
This simulator demonstrates:
- Resource Allocation Graph (RAG)
- Circular Wait Condition
- Deadlock Detection
- Difference between Cycle vs Deadlock
- Process-Resource interaction
- HTML
- CSS
- JavaScript
- vis-network (for graph visualization)
👉 (Add your GitHub Pages link here)
- Add Processes and Resources
- Create edges:
- Request → Process → Resource
- Allocation → Resource → Process
- Click Check Deadlock
- View:
- 🔴 Highlighted cycle
- 📖 Explanation
- Deadlock requires at least two processes
- Not every cycle is a deadlock
- Self-loop is NOT deadlock
Click "Learn Deadlock" inside the app to understand:
- Definition
- Conditions
- Examples
- Graph representation
This project is designed as an educational tool to help students visualize and understand how deadlocks form in operating systems, rather than just learning theory.
✔️ Fully functional
✔️ Conceptually accurate
✔️ Interactive & visual
Feel free to fork and improve the project.
Open for educational use.