wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Deadlocks in operating system

profile
NAHIDA SHAIKH
Aug 15, 2024
0 Likes
0 Discussions
95 Reads

Deadlock in an operating system occurs when a set of processes become stuck in a situation where none of them can proceed because each process is waiting for a resource that another process holds. This creates a cycle of dependencies that prevents any of the involved processes from continuing.


### Necessary Conditions for Deadlock

For a deadlock to occur, four conditions must be present simultaneously:


1. **Mutual Exclusion**: At least one resource must be held in a non-shareable mode, meaning only one process can use the resource at any given time.


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


3. **No Preemption**: Resources cannot be forcibly taken from a process. They can only be released voluntarily by the process holding them.


4. **Circular Wait**: There exists a set of processes \(\{P_1, P_2, \dots, P_n\}\) such that \(P_1\) is waiting for a resource held by \(P_2\), \(P_2\) is waiting for a resource held by \(P_3\), and so on, with \(P_n\) waiting for a resource held by \(P_1\).


### Deadlock Handling Methods

There are several strategies for handling deadlocks:


1. **Deadlock Prevention**: Modify the system design to ensure that at least one of the necessary conditions for deadlock cannot hold. This could involve:


  - **Eliminating Mutual Exclusion**: Make resources sharable, if possible.

  - **Eliminating Hold and Wait**: Require processes to request all required resources at once.

  - **Eliminating No Preemption**: Allow the system to forcibly take resources from a process.

  - **Eliminating Circular Wait**: Impose an order on resource acquisition.


2. **Deadlock Avoidance**: Dynamically examine the resource allocation state to ensure that a circular wait condition never occurs. The **Banker’s algorithm** is a classic example of a deadlock avoidance algorithm.


3. **Deadlock Detection and Recovery**: Allow deadlocks to occur but have the system detect them and take action to recover. Recovery can involve:


  - **Terminating Processes**: Killing one or more processes to break the deadlock.

  - **Resource Preemption**: Temporarily taking resources away from some processes and reallocating them.


4. **Ignoring Deadlock**: In some systems, deadlock is considered a rare event, so it's ignored. This approach is used by some operating systems like UNIX, where the system does nothing to prevent or avoid deadlock, relying instead on rebooting the system if a deadlock occurs.


Understanding deadlocks and how to handle them is crucial in the design and operation of reliable and efficient operating systems.


Comments ()


Sign in

Read Next

Google App Engine

Blog banner

Getting into Anime

Blog banner

Paid Email

Blog banner

Deadlock

Blog banner

Service Operations Principles

Blog banner

How To Invest In Indian Stock Market @ BSE & NSE ~ Tutorial 3

Blog banner

Everything You Need for a Perfect Stay in Arcadia, Florida, USA.

Blog banner

Buffering

Blog banner

JUSTICE FOR EVERY “BEZUBAAN ANIMAL”

Blog banner

Understanding - Proof of Work!

Blog banner

Game Theory in Blockchain

Blog banner

Service Transition Process in ITSM

Blog banner

Man In The Middle Attack

Blog banner

Why Oak Tree Hotel Is Arcadia’s Hidden Gem?

Blog banner

Not anti-social, but pro-solitude

Blog banner

From Model Mistakes to Metrics

Blog banner

Have You Explored India Yet?

Blog banner

Nature’s Brush on Silk: The Secret Behind Patola Colours

Blog banner

Buffer Overflow

Blog banner

Asana

Blog banner

Koinex is shutting down and here is how you can withdraw...

Blog banner

City of Mumbai (Bombay):

Blog banner

Why Are So Many Adults Getting Diagnosed with ADHD?

Blog banner

Lucidchart

Blog banner

Vulnerability Assessment

Blog banner

IT service level agreement

Blog banner

GIS Bharat Maps

Blog banner

Embaded operating system

Blog banner

Preparing Students for Higher Education: How International Schools Shape Future Success

Blog banner

Developments in Modern Operating Systems

Blog banner

"Audit" In Data Science

Blog banner

Deadlock

Blog banner

India Digital Personal Data Protection Act, 2023

Blog banner

RAID and It's Levels

Blog banner

Regression Analysis

Blog banner

Android Flashlight Application

Blog banner

What are Virtual Machines

Blog banner

Disk Management

Blog banner

Health and fitness

Blog banner

LIMITED EDITION

Blog banner

virtual machines and virtualization

Blog banner

Service Operation

Blog banner