wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Deadlock

profile
Darshan Somaiya
Aug 16, 2024
1 Like
0 Discussions
149 Reads

DEADLOCK


Deadlock is a situation in an operating system where a set of processes become stuck because each process in the set is waiting for another process to release resources. This leads to a cascade of dependencies where nothing can really progress, thus halting everything.


Four Conditions for Deadlock 

A deadlock can only occur when the following four conditions are met simultaneously:


1. Mutual Exclusion: At least one resource must be held in a non-sharable mode, and only one process can use the resource at a time.


2. Hold and Wait: A process holding at least one resource is waiting to acquire additional resources that are currently held by other processes.


3. No Preemption: Resources cannot be preempted from the process holding them; they can only be released voluntarily by the process.


4. Circular Wait: There is a set of processes such that each process in the chain is waiting for another which is ahead, forming a circle.


Example Scenario:

Suppose there are two processes and two resources. P1 process requests R1, and P2 requests R1 & holds R2. Neither process will release the resources it currently holds, and neither can proceed until it is able to acquire a resource that both processes are waiting on for completion. Therefore, both stall simultaneously, giving rise to deadlock.


Deadlock Prevention and Avoidance 

Operating systems employ various strategies to prevent or avoid deadlock:


- Deadlock Prevention: This is a set of methods for ensuring that at least one of the necessary conditions cannot hold. It can be done by requiring all processes to ask for resources at once or by preventing circular wait, etc.


- Deadlock Avoidance: It employs algorithms like the Banker’s Algorithm, which dynamically check the state of resource allocation to make sure a system will never enter an unsafe state where deadlock can happen.


Some systems may allow deadlocks to occur but have standby algorithms in place for detection and recovery, such as terminating one or more processes involved to free up resources.


Comments ()


Sign in

Read Next

The Role of Frontline Managers in Driving Workplace Performance and Customer Satisfaction

Blog banner

Pooja Silver

Blog banner

A BLOG ON MYSQL

Blog banner

Concurrency management in operating systems

Blog banner

GIS in Disaster Management

Blog banner

Service design process in ITSM

Blog banner

Direct Memory Access

Blog banner

new blog

Blog banner

MODERN OPERATING SYSTEMS

Blog banner

File Management system

Blog banner

Simple STEM Activities for Toddlers That Spark Curiosity

Blog banner

Memory management

Blog banner

Linux

Blog banner

Cyber Security Control

Blog banner

CYBERBULLYING: Negative comments!

Blog banner

note taker app

Blog banner

OPERATING SYSTEM

Blog banner

I/O Buffering

Blog banner

RAID and It's Levels

Blog banner

Interesting fact about kangaroo.

Blog banner

E-security systems | CCTV

Blog banner

Disk scheduling

Blog banner

Ethical Issues in Data Science and Role of Data Science in Smart Cities

Blog banner

How GIS in Agriculture Eliminates Guesswork

Blog banner

GIS

Blog banner

Android Flashlight Application

Blog banner

INTERNET SECURITY

Blog banner

Jira Software

Blog banner

Social Engineering

Blog banner

10 Interesting Facts about Death Note

Blog banner

Indian Food

Blog banner

How To Setup DVWA Using XAMPP on Windows

Blog banner

What are NFT s?

Blog banner

Pro-Tips On How To Keep your Foot Healthy

Blog banner

Veg Mix Pickle

Blog banner

15 Interesting Facts about India

Blog banner

Jamming Attacks in Network Security: Disrupting Communication Signals

Blog banner

GraphX:- A graph processing tool

Blog banner

Cloud Technology and its Implications for Entrepreneurship

Blog banner

Key to success in Sports

Blog banner

Process states

Blog banner

From Model Mistakes to Metrics

Blog banner