Skip to content

menahals/DeadlockSimulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deadlock Simulator

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.


Features

  • Visualization of processes and resource allocation
  • Demonstration of deadlock occurrence and causes
  • Implementation of deadlock prevention techniques

Technologies Used

  • Java 17+
  • JavaFX 21
  • Maven
  • CSS
  • Object-Oriented Programming (OOP)

Project Structure

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

Prerequisites

Before running the application, install:

  • Java 17 or later
  • Maven 3.9 or later

Verify the installation:

java -version
mvn -version

🚀 How to Run

Using Terminal

  1. Clone the repository:
git clone https://github.com/menahals/DeadlockSimulator.git
  1. Navigate to the project folder
cd DeadlockSimulator
  1. Run the application:
mvn clean javafx:run

Screenshots

Deadlock Scenario

image image

Dynamic Priority Allocation

image image image

Wait-Die Algorithm

image image image

Victim Selection

image image

‼️Note: This project is shared for career and portfolio purposes only. Reuse, copying or submitting this work as your own, especially for academic credit is not permitted and may violate academic integrity policies.

About

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.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors