wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Deadlock and starvation

profile
Aditi Upadhayay
Aug 15, 2024
0 Likes
0 Discussions
79 Reads

Deadlock

**Definition:**

Deadlock is a condition in which a set of processes are blocked, each waiting for a resource held by another process in the set. This creates a cycle of dependencies that prevent any of the processes from continuing.

**Conditions for Deadlock (Deadlock Coffins):**

1. **Mutual Exclusion**: At least one resource must be held in a non-shareable mode. If a resource is allocated to a process, no other process can use it until it is released.

2. **Hold and Wait**: Processes holding resources can request additional resources without releasing the resources they currently hold.

3. **No Preemption**: Resources cannot be forcibly taken from a process; they must be released voluntarily.

4. **Circular Wait**: A set of processes exists such that each process is waiting for a resource held by the next process in the set, forming a circular chain.

**Example:**

Consider two processes, P1 and P2, and two resources, R1 and R2:

- P1 holds R1 and requests R2.

- P2 holds R2 and requests R1.

Both processes end up waiting indefinitely for each other’s resources, resulting in a deadlock.

**Prevention Techniques:**

1. **Eliminate Mutual Exclusion**: Make resources sharable, if possible.

2. **Eliminate Hold and Wait**: Require processes to request all resources at once or release all resources before requesting new ones.

3. **Eliminate No Preemption**: Allow resources to be preempted from processes if necessary.

4. **Eliminate Circular Wait**: Impose a total ordering of resources and require processes to request resources in a specific order.

**Detection and Recovery:**

- **Detection**: Use resource allocation graphs or other algorithms to detect deadlock.

- **Recovery**: Terminate processes or preempt resources to break the deadlock cycle.

### Starvation

**Definition:**

Starvation occurs when a process is perpetually denied necessary resources because other processes are continually given priority. This results in the affected process never getting a chance to proceed.

**Causes:**

1. **Priority Scheduling**: High-priority processes might always be given resources before low-priority processes, causing the latter to starve.

2. **Resource Allocation Policies**: Certain policies might favor some processes over others, leading to long-term deprivation of resources for some processes.

**Example:**

In a system using priority scheduling:

- Process P1 has high priority and constantly preempts Process P2.

- Process P2 may never get CPU time if P1 is always arriving or requiring resources, leading to starvation of P2.

**Prevention Techniques:**

1. **Aging**: Gradually increase the priority of processes that have been waiting for a long time to ensure they eventually get resources.

2. **Fair Scheduling**: Use algorithms like round-robin or fair-share scheduling that ensure all processes get a chance to access resources.

**Detection and Recovery:**

- **Detection**: Monitor processes to detect those that have been waiting excessively.

- **Recovery**: Adjust priorities or scheduling policies to ensure all processes are eventually serviced.



Comments ()


Sign in

Read Next

Virtual memory

Blog banner

Why Every Preschooler Learns at Their Own Pace?

Blog banner

The seven-step improvement process

Blog banner

Memory Management

Blog banner

Elegant fashion style

Blog banner

Making Money through Instagram

Blog banner

Models of Information Security.

Blog banner

Disk Management

Blog banner

Service stratergy principles

Blog banner

Beyond the Track: Why the Best Hotel in Arcadia, Florida, Completes Your IMSA Sebring Getaway

Blog banner

Financial Stress and Mental Health

Blog banner

Data Lakes: A Key to Modern Data Management

Blog banner

Navigation With Indian Constellation(NavIC) by ISRO in Geographic Information Systems

Blog banner

Hacking

Blog banner

What is Email? Uses of Emails

Blog banner

Understanding Suicidal Thoughts and Self-Harm: Recognising the Signs and Finding Hope

Blog banner

E-mail security

Blog banner

Virtual memory

Blog banner

Why Iron-Rich Foods Matter and How to Include Them in Indian Meals

Blog banner

Pioneer Park Zolfo Springs — A Hidden Gem for Nature Lovers Near Arcadia

Blog banner

Decrypting Cryptocurrency: Tracing Transactions in Cyber Investigations

Blog banner

Drawing tips for a beginner

Blog banner

Firewall in Computer Network

Blog banner

WAKE UP ITS FOOD o'CLOCK...!!!!!

Blog banner

Threat management

Blog banner

Social Media Marketing Trends 2022

Blog banner

10 Alien Encounters and Abduction Stories

Blog banner

Student Grade Calculator in LISP

Blog banner

Consumer to consumer business mode

Blog banner

File and File System Structure

Blog banner

Security issues

Blog banner

New Horizon Europe project ‘EvoLand’ sets off to develop new prototype services.

Blog banner

The Role of Cyber Forensics in Addressing Cyber security Challenges in Smart Cities

Blog banner

Interrupts

Blog banner

Memory management

Blog banner

"Life as a Part-time Student"

Blog banner

OS Assignment 1

Blog banner

BUSINESS MODELS OF E COMMERCE

Blog banner

Uber

Blog banner

Affiliate Marketing V/S Influencer Marketing

Blog banner

MD5 Collisions and the impact on computer forensics

Blog banner

What's Better : Supervised or Unsupervised Learning

Blog banner