wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Deadlock in operating system

profile
NAHIDA SHAIKH
Aug 15, 2024
0 Likes
0 Discussions
105 Reads

Deadlock in an operating system occurs when a set of processes become stuck in a situation where none of them can proceed because each process is waiting for a resource that another process holds. This creates a cycle of dependencies that prevents any of the involved processes from continuing.


### Necessary Conditions for Deadlock

For a deadlock to occur, four conditions must be present 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 any given time.


2. **Hold and Wait**: A process is holding at least one resource and is waiting to acquire additional resources that are currently being held by other processes.


3. **No Preemption**: Resources cannot be forcibly taken from a process. They can only be released voluntarily by the process holding them.


4. **Circular Wait**: There exists a set of processes \(\{P_1, P_2, \dots, P_n\}\) such that \(P_1\) is waiting for a resource held by \(P_2\), \(P_2\) is waiting for a resource held by \(P_3\), and so on, with \(P_n\) waiting for a resource held by \(P_1\).


### Deadlock Handling Methods

There are several strategies for handling deadlocks:


1. **Deadlock Prevention**: Modify the system design to ensure that at least one of the necessary conditions for deadlock cannot hold. This could involve:


- **Eliminating Mutual Exclusion**: Make resources sharable, if possible.

- **Eliminating Hold and Wait**: Require processes to request all required resources at once.

- **Eliminating No Preemption**: Allow the system to forcibly take resources from a process.

- **Eliminating Circular Wait**: Impose an order on resource acquisition.


2. **Deadlock Avoidance**: Dynamically examine the resource allocation state to ensure that a circular wait condition never occurs. The **Banker’s algorithm** is a classic example of a deadlock avoidance algorithm.


3. **Deadlock Detection and Recovery**: Allow deadlocks to occur but have the system detect them and take action to recover. Recovery can involve:


- **Terminating Processes**: Killing one or more processes to break the deadlock.

- **Resource Preemption**: Temporarily taking resources away from some processes and reallocating them.


4. **Ignoring Deadlock**: In some systems, deadlock is considered a rare event, so it's ignored. This approach is used by some operating systems like UNIX, where the system does nothing to prevent or avoid deadlock, relying instead on rebooting the system if a deadlock occurs.


Understanding deadlocks and how to handle them is crucial in the design and operation of reliable and efficient operating systems.


Comments ()


Sign in

Read Next

Race condition

Blog banner

HUBSPOT

Blog banner

VIRTUAL MACHINE

Blog banner

Virtual machine

Blog banner

Beauty of indian railway

Blog banner

Incident management in ITSM

Blog banner

Hash password! Is it really secured?

Blog banner

Cyber Laws In India and Around the World

Blog banner

Health is Wealth

Blog banner

Memory Management

Blog banner

The launch of UniMap by HERE

Blog banner

Firewall / IDS Evasion Techniques

Blog banner

Understanding E-mail Servers

Blog banner

My Favorite Country

Blog banner

Virtual Machine

Blog banner

How to invest in Indian Stock Market ? ~ Tutorial 1

Blog banner

Direct memory access (DMA)

Blog banner

Security in Cloud Computing

Blog banner

10 Reasons Why Guy BestFriends are the Must in Every Girl's Life

Blog banner

10 Signs your Computer has Virus

Blog banner

Teamwork

Blog banner

Odoo

Blog banner

Data is an asset and it is your responsibility!

Blog banner

OS Evolution Achievements

Blog banner

Life of a 2020-2021 student

Blog banner

STARVATION

Blog banner

Method of Evaluating Information Security Level in an Organization

Blog banner

BharatPe

Blog banner

This too shall pass

Blog banner

21ST CENTURY PATRIARCHY

Blog banner

Telegram and it's features

Blog banner

The Truth Behind Viral DIY Dental Hacks

Blog banner

Threats To Computer System

Blog banner

How to tie a Tie

Blog banner

How to write a cover letter

Blog banner

Ethical Issues in Data Science and Role of Data Science in Smart Cities

Blog banner

The Rise of Evil Twin Attacks: A New Kind Of Spoofing Cyberattack

Blog banner

KPMG (Klynveld Peat Marwick Goerdeler)

Blog banner

CyberSecurity Color Wheel

Blog banner

Virtual Machine

Blog banner

How to grow followers on Instagram business account?

Blog banner

The New Dr. Frankenstein who will perform first full head transplant

Blog banner