wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Deadlocks

profile
Heer Bhatt
Aug 14, 2024
0 Likes
0 Discussions
97 Reads

Deadlock refers to a situation where multiple processes are waiting indefinitely for an event to occur. It arises when each process holds resources needed by another process, creating a circular dependency.

Deadlock Conditions


Deadlock occurs when four necessary conditions are met:


1. Mutual Exclusion: Resources are allocated exclusively to one process at a time.

2. No Pre-emption: Once a process acquires a resource, it cannot be forcibly taken away.

3. Hold and Wait: Processes hold onto resources while waiting for additional resources.

4. Circular Wait: A circular dependency exists, where each process waits for a resource held by the next process in the sequence.

Deadlock Examples

Bank Account Example:

- Customer requests account opening but must first deposit funds.

- Bank requires deposit before opening account.

- Both parties are waiting for the other's action, leading to a deadlock.

Vehicle Example:

- Two cars approach from opposite directions, each assuming the path is clear.

- Both cars become deadlocked, unable to proceed until one reverses direction

in a defined order to avoid circular dependencies.


Necessary and Sufficient Conditions

The four conditions mentioned above are both necessary and sufficient for deadlock to occur. If any of these conditions are not met, deadlock cannot occur. However, if all four conditions are met, deadlock is inevitable.


Deadlock Handling Methods


- Four important methods are used to handle deadlocks:

1.Deadlock Ignorance

- This method, also known as the Ostrich method, involves ignoring deadlocks.

- This is a widely used strategy, especially in operating systems like Windows and Linux.

- The method is based on the belief that deadlocks occur rarely, and it is more efficient to ignore them and restart the system if they do occur.

- This method does not address the underlying causes of deadlocks and can lead to system instability if deadlocks occur frequently

2. Deadlock Prevention:

. This method aims to prevent deadlocks from occurring in the first place.

- It involves removing or disabling one or more of the necessary conditions for a deadlock to occur.

- By ensuring that at least one of these conditions is not met, deadlocks can be prevented.

- This method requires careful analysis of the system and may involve modifying the way resources are allocated or processes are scheduled.

- It can be more complex and resource-intensive than other methods but provides strong guarantees against deadlocks.

3.Deadlock Avoidance:

•This method involves dynamically checking for potential deadlocks before they occur.

- It uses algorithms to predict the resource needs of processes and avoid allocating resources that could lead to a deadlock.

- Deadlock avoidance requires accurate knowledge of the resource requirements of processes, which can be difficult to obtain in complex systems.

- It can lead to lower system utilization compared to other methods as resources may be held unnecessarily to avoid deadlocks.

4. Deadlock Detection and Recovery:

•This method involves detecting deadlocks when they occur and taking steps to recover the system.

- It uses algorithms to identify processes involved in deadlocks and can involve forcibly terminating processes or preempting resources to break the deadlock.

- Deadlock detection and recovery can be complex and time-consuming.

- It can lead to data loss or system instability if not implemented carefully.

- This method is typically used as a last resort when other prevention or avoidance methods are not feasible or effective.


Comments ()


Sign in

Read Next

Perfect Moments to Wear a Rich Patola Design Outfit

Blog banner

MEMORY MANAGEMENT (techniques)

Blog banner

Digital Forensics Challenges and Tools

Blog banner

Buffering

Blog banner

Virtual memory in Operating System

Blog banner

Navigation With Indian Constellation(NavIC) by ISRO in Geographic Information Systems

Blog banner

Paralysis/Paralysis Stroke

Blog banner

What are Tenders its various types

Blog banner

(Input/Output) in os

Blog banner

social media issue

Blog banner

GraphX:- A graph processing tool

Blog banner

A-B-C of Networking: Part-1 (Basics)

Blog banner

How Puppet Shows and Role Play Teach Empathy to Preschoolers

Blog banner

Threads

Blog banner

Digital Marketing

Blog banner

OPERATING SYSTEM

Blog banner

What is Spyware? and examples of them.

Blog banner

File Systems in OS.

Blog banner

Stephen Hawking : A Remarkable Physicist

Blog banner

INDIAN CHEAPEST COSMETICS BRAND

Blog banner

LEMON PICKLE (NIMBU KA ACHAR)

Blog banner

Synchronization

Blog banner

Bitcoin sent using radio waves! No internet!

Blog banner

Precision-Recall in Data Science

Blog banner

The functions of operating system

Blog banner

"Life as a Part-time Student"

Blog banner

SECURITY VULNERABILITIES COUNTERMEASURES IN A SMART SHIP SYSTEM

Blog banner

Understanding Univariate, Bivariate, and Multivariate Analysis in Data Science

Blog banner

Social Engineering Attacks

Blog banner

10 Types of Friends in every friend group

Blog banner

What is time ? The term which has astonished Scientists

Blog banner

Classification Vs Clustring? What's the diffrence?

Blog banner

Top 4 Places To Stay In Copenhagen

Blog banner

Note Taker App

Blog banner

" THE ANSWERS THAT LED INDIAN BEAUTIES TO THE MISS UNIVERSE HISTORIC WIN. "

Blog banner

Threat management

Blog banner

Memory Management

Blog banner

Classification Algorithms (Decision trees, SVM, Logistic regreession)

Blog banner

Security Issues and Countermeasures

Blog banner

Cycling

Blog banner

SQL Injection

Blog banner

Multiple processor scheduling

Blog banner