wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Deadlock

profile
Prishi Jain
Aug 16, 2024
1 Like
0 Discussions
182 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

How to Encrypt and Decrypt Using GNU PGP

Blog banner

Different Types of Data

Blog banner

10 Unknown facts about India's Independence

Blog banner

GIS in Mapping and landslide alert in Bangladesh

Blog banner

How to make Pancakes

Blog banner

Corporate Discipline.

Blog banner

gis substation

Blog banner

Expressing and Measuring Risk (Risk Management)

Blog banner

Hash password! Is it really secured?

Blog banner

The Benefits of Practical Life Activities in Preschool

Blog banner

Meshoo

Blog banner

How Sleep Impacts Learning and Behaviour for Toddlers?

Blog banner

RAID - LEVELS OF RAID

Blog banner

Zero Trust Security Model: Revolutionizing Cybersecurity in the Digital Age

Blog banner

Deadlock and Starvation

Blog banner

Linker

Blog banner

Elegant fashion style

Blog banner

Threads in OS

Blog banner

KASHMIR TRIPS

Blog banner

Understanding - Proof of Work!

Blog banner

An Overivew Of Cache Memory

Blog banner

Mendeley (management software)

Blog banner

Information of meesho company

Blog banner

Hey Aryan here

Blog banner

Cyber Security Standards

Blog banner

Title: Network Sniffing Techniques: Uncovering the Secrets of Data Transfer

Blog banner

Social Engineering

Blog banner

NodeJs

Blog banner

Explain Kernel in OS

Blog banner

12 Principles of Animation

Blog banner

Why Does Hierarchy Still matter in Organizations?

Blog banner

Direct Memory Access

Blog banner

Network Footprinting in Cybersecurity

Blog banner

Working with Sniffers for monitoring network communication

Blog banner

Types of email

Blog banner

Constrained Management in IT

Blog banner

What if COVID does not exist!

Blog banner

Current Trends in GIS and Remote Sensing(Ocean Applications)

Blog banner

Computer Security

Blog banner

Does School Infrastructure Really Matter For Learning?

Blog banner

A Journey By Train

Blog banner

Jira service Management

Blog banner