A comprehensive web-based application for detecting and avoiding deadlocks in operating systems using multiple algorithms and advanced visualization techniques.
- Deadlock Detection Analysis - Detect circular wait conditions and identify deadlocked processes
- Banker's Algorithm - Implement safe sequence detection for deadlock avoidance
- Wait-For Graph Analysis - Analyze process-resource dependencies and detect cycles
- 🌙 Dark Mode Toggle - Switch between light and dark themes with persistent preferences
- 📊 Resource-Process Visualization - Interactive graph showing resource allocation and process dependencies
▶️ Real-Time Simulation - Animate the execution of safe sequences with step-by-step logging- 💾 Save/Load Configuration - Store and restore system configurations in browser localStorage
- 📈 Performance Metrics - Real-time display of execution time, processes checked, and deadlock count
- 📜 History Tracking - Complete history of all analyses with timestamps
- 📥 Export Results - Download analysis reports as HTML documents
- Banker's Algorithm - Deadlock avoidance using safe sequence detection
- Deadlock Detection - Identify existing deadlocks in the system
- Wait-For Graph - Cycle detection in process-resource graphs
- Open
index.htmlin a modern web browser - Set the number of processes and resources
- Input the allocation matrix, maximum need matrix, and available resources
- Select an algorithm from the dropdown
- Click Run Analysis to execute
- Use visualization, simulation, and export features for detailed analysis
- Processes: 1-20 (number of concurrent processes)
- Resources: 1-20 (number of resource types)
- Allocation Matrix: Resources currently allocated to each process
- Maximum Need Matrix: Maximum resources each process may request
- Available Resources: Current available instances of each resource type
- Set number of processes and resources
- Choose analysis algorithm
- Generate and edit system matrices
- Resource-Process graph with color-coded edges:
- Green edges: Allocated resources (R→P)
- Red edges: Waiting resources (P→R)
- Interactive canvas display
- Play/Pause/Reset controls
- Adjustable simulation speed
- Real-time execution log
- Step-by-step process execution tracking
- Detailed safety analysis
- Deadlock detection results
- Safe sequence information
- System recommendations
- Execution time measurement
- Process checking statistics
- Resource analysis metrics
- Deadlock count tracking
- Dark mode preferences
- Saved configurations
- Analysis history
- All data persists across sessions
- HTML5 - Markup and structure
- CSS3 - Styling with dark mode support
- JavaScript - Core algorithm implementations and interactivity
- Bootstrap 5 - Responsive UI framework
- Font Awesome - Icon library
- Canvas API - Graph visualization
Detects if a request can be safely granted by checking if granting it would leave the system in a safe state.
Uses a resource allocation graph to find processes that cannot proceed due to circular wait conditions.
Simplifies the resource allocation graph by only showing process-to-process dependencies, enabling faster cycle detection.
This tool is ideal for:
- Learning operating system deadlock concepts
- Testing different resource allocation scenarios
- Understanding safe and unsafe states
- Visualizing deadlock conditions
- Experimenting with deadlock avoidance strategies
- Maximum 20 processes and 20 resources for optimal UI performance
- All analysis is performed client-side (no server required)
- Data is stored only in local browser storage
- Clear the browser cache to reset all saved data
Created for deadlock detection and avoidance simulation in operating systems.