wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Deadlock

profile
Prishi Jain
Aug 16, 2024
1 Like
0 Discussions
181 Reads

A deadlock in an operating system is a situation where a set of processes become stuck, unable to proceed because each process is waiting for a resource that another process in the same set is holding. Since none of the processes can proceed until another releases its resources, they are in a state of perpetual waiting, leading to a deadlock.

Key Conditions for Deadlock:

A deadlock can occur if the following four conditions hold 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 a time.
  2. Hold and Wait: A process holding at least one resource is waiting to acquire additional resources that are currently being held by other processes.
  3. No Preemption: A resource cannot be forcibly removed from a process holding it; it can only be released voluntarily by the process holding it.
  4. Circular Wait: A set of processes exist where each process is waiting for a resource that the next process in the chain holds, forming a circular chain of dependencies.

Example Scenario:

Imagine two processes, P1 and P2, and two resources, R1 and R2. Suppose:

  • P1 holds R1 and requests R2.
  • P2 holds R2 and requests R1.

In this situation, P1 and P2 are waiting on each other to release the resources, leading to a deadlock.

Deadlock Handling Strategies:

Operating systems handle deadlocks using one of the following approaches:

  1. Deadlock Prevention: Ensuring that at least one of the four conditions for deadlock cannot occur.
  2. Deadlock Avoidance: Using algorithms (like the Banker’s algorithm) to ensure that the system never enters an unsafe state where a deadlock might occur.
  3. Deadlock Detection and Recovery: Allowing deadlocks to occur, but the system periodically checks for deadlocks and takes action to recover, such as terminating one or more processes involved in the deadlock.
  4. Ignoring the Problem: Some systems, especially simple ones or those where deadlocks are rare, choose to ignore the problem, hoping that deadlocks will not occur frequently.

Comments ()


Sign in

Read Next

Linux Virtual Machine Process Scheduling

Blog banner

Linux

Blog banner

Number Guessing game --lisp

Blog banner

Why Inconel 625 and Monel 400 Remain Unbeatable in Refinery Applications?

Blog banner

Introduction to GIS

Blog banner

Process Description

Blog banner

Memory Management

Blog banner

Data Mining

Blog banner

Understanding the 4 Types of Learning Methods in Early Childhood

Blog banner

AIS & ANN based Malware detection for Android OS - Nupur Bhatt

Blog banner

GEOLOGY AND GEO-TECTONIC FRAME WORK OF WESTERN BASTAR CRATON

Blog banner

Types of email

Blog banner

The Joy of Giving: How Festivals Teach Children Empathy and Gratitude

Blog banner

IS CONVERTING AMBITION INTO PROFESSION?

Blog banner

The Dark Web: A Breeding Ground for Cybercriminals – How to Guard Against Threats

Blog banner

How To Invest in Indian Stock Market For Beginners. ~ Tutorial 2 (NSDL And CSDL) Continued...

Blog banner

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

Blog banner

Deadlocks in operating system

Blog banner

RAID

Blog banner

A-B-C of Networking: Part-3 (Topology [Ring, Tree, Mesh])

Blog banner

Outlook mail

Blog banner

Access management

Blog banner

Teenagers of Today

Blog banner

Why Should You Schedule Tweets on Twitter?

Blog banner

Device driver

Blog banner

(Input/Output) in os

Blog banner

Modern Operating System

Blog banner

Sleep Matters: The Science Behind Toddler Naps

Blog banner

Virtual memory in os

Blog banner

Have You Explored India Yet?

Blog banner

Vulnerability Assessment

Blog banner

What is Packet Filtering?

Blog banner

Service Validation and Testing during the Design Phase

Blog banner

Security issues

Blog banner

Intrusion Detection Systems - Anushka Linge

Blog banner

Bitcoin sent using radio waves! No internet!

Blog banner

I/O Buffering

Blog banner

Interrupts

Blog banner

Service transistion under difficult conditions

Blog banner

What is service level Agreement?

Blog banner

Memory heirachy (Operating system)

Blog banner

Microsoft powerpoint presentation

Blog banner