wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Deadlock

profile
Darshan Somaiya
Aug 16, 2024
1 Like
0 Discussions
149 Reads

DEADLOCK


Deadlock is a situation in an operating system where a set of processes become stuck because each process in the set is waiting for another process to release resources. This leads to a cascade of dependencies where nothing can really progress, thus halting everything.


Four Conditions for Deadlock 

A deadlock can only occur when the following four conditions are met simultaneously:


1. Mutual Exclusion: At least one resource must be held in a non-sharable mode, and 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 held by other processes.


3. No Preemption: Resources cannot be preempted from the process holding them; they can only be released voluntarily by the process.


4. Circular Wait: There is a set of processes such that each process in the chain is waiting for another which is ahead, forming a circle.


Example Scenario:

Suppose there are two processes and two resources. P1 process requests R1, and P2 requests R1 & holds R2. Neither process will release the resources it currently holds, and neither can proceed until it is able to acquire a resource that both processes are waiting on for completion. Therefore, both stall simultaneously, giving rise to deadlock.


Deadlock Prevention and Avoidance 

Operating systems employ various strategies to prevent or avoid deadlock:


- Deadlock Prevention: This is a set of methods for ensuring that at least one of the necessary conditions cannot hold. It can be done by requiring all processes to ask for resources at once or by preventing circular wait, etc.


- Deadlock Avoidance: It employs algorithms like the Banker’s Algorithm, which dynamically check the state of resource allocation to make sure a system will never enter an unsafe state where deadlock can happen.


Some systems may allow deadlocks to occur but have standby algorithms in place for detection and recovery, such as terminating one or more processes involved to free up resources.


Comments ()


Sign in

Read Next

Real-time Scheduling - 53003230061

Blog banner

BharatPe

Blog banner

Data Security and Data Privacy in Data Science

Blog banner

Optimization of operating system design

Blog banner

EdTech (Education Technology)

Blog banner

MODERN OPERATING SYSTEM

Blog banner

Expert System In AI

Blog banner

The Power of Cyber Forensic in Solving Crimes

Blog banner

What is OS and its overview

Blog banner

Types of email

Blog banner

Cache memory

Blog banner

Life lesson

Blog banner

Software Piracy & Online Data Protection in Digital World

Blog banner

10 Interesting facts you should know!!!

Blog banner

How Does SSO Works

Blog banner

DEVELOPMENTS LEADING TO MODERN OPERATING SYSTEMS

Blog banner

Skills An Ethical Hacker Must Have

Blog banner

Tracking Emails & Email Crimes

Blog banner

Self-love: Being the reason of your own smile

Blog banner

Palm Vein Biometric Technology; Contactless vein authentication

Blog banner

VIRTUAL MACHINE

Blog banner

Google classroom

Blog banner

Types of Threads

Blog banner

Critical success factors

Blog banner

Health and fitness in technology

Blog banner

Process Description

Blog banner

CYBER SECURITY CHALLENGES

Blog banner

c

Blog banner

Satellite Based Positioning

Blog banner

IT GOVERNANCE

Blog banner

LiquidPlanner

Blog banner

Interrupts - Types, Working & Importance

Blog banner

Race Condition

Blog banner

Modern Operating System

Blog banner

OPERATING SYSTEM OBJECTIVES AND FUNCTIONS

Blog banner

Different types of e-commerce platforms or advantages and disadvantages

Blog banner

PERSONALITY DEVELOPMENT

Blog banner

Operating Systems

Blog banner

Sensory Play for Toddlers: Boosting Curiosity Through Touch, Sound, and Colour

Blog banner

Synchronization

Blog banner

OS DESIGN CONSIDERATIONS FOR MULTIPROCESSOR

Blog banner

Understanding Business Layer in Data Science

Blog banner