wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Deadlock

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

OS PROCESS DESCRIPTION AND CONTROL-SARVAGYA JALAN

Blog banner

All you need to know about Website Traffic

Blog banner

Deadlock

Blog banner

DATA VAULT

Blog banner

The Difference Between Plaque and Tartar Explained Simply

Blog banner

Ola

Blog banner

gis substation

Blog banner

Guidelines for a low sodium diet.

Blog banner

Why do you need a personalised bag tag for your kids' school bags?

Blog banner

Top 10 Logos and their meanings

Blog banner

"Life as a Part-time Student"

Blog banner

Objectives and Functions of Operating System

Blog banner

Mango Raisin Chutney (sweet mango raisin spread)

Blog banner

INTRANET

Blog banner

Service Strategy principles

Blog banner

Disk Management

Blog banner

Education: Key to your Prosperity

Blog banner

Wedding photographer

Blog banner

Women empowerment

Blog banner

The Memory Hierarchy

Blog banner

Kernel in Operating System

Blog banner

Memory managment

Blog banner

MIDDLE CLASS MELODIES!!

Blog banner

Cache memory

Blog banner

Traditional UNIX Scheduling

Blog banner

Craziness of dream 11 and how it impacts on our life

Blog banner

Deadlock

Blog banner

Uniprocessor scheduling

Blog banner

Mutual exclusion

Blog banner

Importance of Education

Blog banner

Real-time Scheduling - 53003230061

Blog banner

Deadlock in operating system

Blog banner

Types Of scheduling

Blog banner

Every body is beautiful

Blog banner

Memory Management in Operating System

Blog banner

Sage

Blog banner

Four Stalls Every Vegetarian Needs To Eat At Outside Vile Parle Station

Blog banner

Web browser forensics:Tools,Evidence collection and analysis

Blog banner

File management -disha parekh

Blog banner

Cache Memory in Operating Systems

Blog banner

DNS Cache

Blog banner

What are Virtual Machines

Blog banner