A JavaFX desktop application that demonstrates Operating System deadlock concepts through interactive visualizations. The simulator helps users understand how deadlocks occur, how resources are allocated, and how different deadlock prevention and recovery algorithms work.
- Visualization of processes and resource allocation
- Demonstration of deadlock occurrence and causes
- Implementation of deadlock prevention techniques
- Java 17+
- JavaFX 21
- Maven
- CSS
- Object-Oriented Programming (OOP)
deadlock-sim/
│
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── deadlocksim/
│ │ │ ├── DeadlockSimulatorApp.java
│ │ │ ├── DeadlockScenePane.java
│ │ │ ├── DeadlockScenario.java
│ │ │ ├── PriorityAllocationPane.java
│ │ │ ├── VictimSelectionPane.java
│ │ │ ├── WaitDiePane.java
│ │ │ └── UiKit.java
│ │ │
│ │ └── resources/
│ │ └── app.css
│ │
│ └── test/
│
├── pom.xml
├── README.md
└── .gitignore
Before running the application, install:
- Java 17 or later
- Maven 3.9 or later
Verify the installation:
java -version
mvn -version- Clone the repository:
git clone https://github.com/menahals/DeadlockSimulator.git- Navigate to the project folder
cd DeadlockSimulator- Run the application:
mvn clean javafx:run