wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Deadlock and starvation

profile
Aditi Upadhayay
Aug 15, 2024
0 Likes
0 Discussions
78 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

The Difference Between Plaque and Tartar Explained Simply

Blog banner

Water Resources are about to exhaust...

Blog banner

Sweet Mango Murabba

Blog banner

Top 5 Places To Stay And Visit In Berlin, Germany

Blog banner

What is Data, Information and Knowledge?

Blog banner

LTE Technology

Blog banner

Technological Advancement

Blog banner

Partnership in Learning: How Parent Involvement Shapes a Child’s Early Education

Blog banner

Multiprocessor and Multicore Organization

Blog banner

virtual machine

Blog banner

Data Visualization in Decision-Making

Blog banner

A-B-C of Networking: Part-1 (Basics)

Blog banner

Inventory management software system

Blog banner

What is HTML?

Blog banner

Electronic Evidence in Cyber Forensics

Blog banner

Virus

Blog banner

MODERN OPERATING SYSTEM

Blog banner

STARVATION

Blog banner

Privacy LAWs in IT

Blog banner

Guidelines for a Low sodium Diet.

Blog banner

Game via listing method

Blog banner

Types of Malware in Cyber Security

Blog banner

Method of Evaluating Information Security Level in an Organization

Blog banner

Rapido

Blog banner

How Unstructured Play Helps Children Become Creative Thinkers

Blog banner

Emotional Intelligence in Children: Why It Is as Important as Academics

Blog banner

ITIL Version 3 and 4 differenciation?

Blog banner

What Makes Patola the Queen of Silk?

Blog banner

In the world of Technology...

Blog banner

6 Digital Marketing Trends You Must Watch Out For In 2022

Blog banner

Im Photographer

Blog banner

Importance of Network Security Risk

Blog banner

The Dark Web: A Breeding Ground for Cybercriminals – How to Guard Against Threats

Blog banner

MEMORY MANAGEMENT FILE

Blog banner

Man is free by the birth .

Blog banner

DIGITAL ECONOMY

Blog banner

Evolution of OS

Blog banner

Software

Blog banner

Social Media Sentiment Analysis

Blog banner

Risk mitigation and management

Blog banner

DNS Cache

Blog banner

You Get Everyone, But No One Gets You: The Lonely Side of High Emotional Intelligence

Blog banner