wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Deadlock and Starvation

profile
Abutalha Solanki
Aug 15, 2024
0 Likes
0 Discussions
79 Reads

Deadlock


Deadlock is a critical issue in concurrent systems where two or more processes are stuck in a state of perpetual waiting, unable to proceed with their execution because each process is holding a resource and waiting for another resource that is held by another process. This situation leads to a standstill where none of the processes can continue, effectively bringing parts of the system to a halt.


For a deadlock to occur, four conditions must be met simultaneously:


1.Mutual Exclusion: At least one resource must be held in a non-sharable mode; that is, only one process can use the resource at any given time. If another process requests that resource, it must be blocked until the resource is released.


2. Hold and Wait: A process is currently 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 removed from the processes holding them; they must be released voluntarily by the process after it has completed its task.


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


To manage deadlocks, several strategies can be employed:


- Deadlock Prevention: This involves designing the system in such a way that at least one of the four conditions necessary for deadlock cannot occur. For instance, by ensuring that resources are allocated in such a way that circular wait cannot occur, deadlocks can be prevented. However, this approach can be restrictive and may lead to inefficiency.


- Deadlock Avoidance: This strategy requires that the system has some additional information about how resources are requested. The system makes decisions dynamically to ensure that deadlock is avoided. The Banker's algorithm is a well-known example of a deadlock avoidance strategy, which tests whether allocating resources will keep the system in a safe state.


- Deadlock Detection and Recovery: In this approach, the system does not prevent or avoid deadlocks but instead allows them to occur, then detects them and takes action to recover. This can involve terminating one or more processes to break the deadlock or preempting resources from some processes.


Starvation


Starvation, also known as indefinite blocking, occurs when a process is perpetually denied access to the resources it needs to proceed with its execution, despite the system being in a state where these resources are technically available. Unlike deadlock, where processes are mutually blocked, starvation typically affects lower-priority processes that are continually overlooked in favor of higher-priority ones.


Starvation can happen in various scenarios, most commonly in systems where resources are allocated based on priority. For example, in a priority-based scheduling algorithm, higher-priority processes are allowed to execute before lower-priority ones. If new high-priority processes keep arriving, the low-priority process may never get a chance to run, leading to starvation.


Preventing starvation typically involves implementing strategies that ensure fairness in resource allocation. One common technique is **aging**, where the priority of a process increases the longer it waits in the queue. Over time, even a low-priority process will accumulate enough priority to eventually gain access to the resources it needs.


Both deadlock and starvation are significant concerns in the design of operating systems and concurrent systems. While deadlock can bring a system to a complete halt, starvation can degrade system performance by allowing some processes to monopolize resources indefinitely. Effective management of these issues is crucial for maintaining the reliability and efficiency of a system.


Comments ()


Sign in

Read Next

Does School Infrastructure Really Matter For Learning?

Blog banner

Interrupts in OS

Blog banner

FIREWALL

Blog banner

City of Mumbai (Bombay):

Blog banner

How to Compare Schools Before an Admission Decision

Blog banner

FAMILY WHERE LIFE BEGINS....

Blog banner

Meal Maharaj — 3 CP, 5 CP, 8 CP. Same Love, Different Portions

Blog banner

What is Virtual Memory

Blog banner

Digital black market or dark net poses a national security threat?

Blog banner

Getting started with Android Studio

Blog banner

AI and Technology- Related Anxiety: Understanding the Psychological Impact of Living in an AI-Driven World

Blog banner

The Five Steps of Data Science

Blog banner

Dos (Denial of service) Attack

Blog banner

Palliative and End — of — Life Care: A Psychological and Holistic Perspective

Blog banner

Basic Security For SOAP Services

Blog banner

Severe landslides continue to cause concern in Joshimath, Uttarakhand

Blog banner

Security Issues and Countermeasures

Blog banner

Zomato's Secret Digital Marketing Techniques!

Blog banner

HR Automation : Need of the hour

Blog banner

Memory Management

Blog banner

MPL and how its effects?

Blog banner

Shoulders

Blog banner

12 Principles of Animation

Blog banner

Data is an asset and it is your responsibility!

Blog banner

Juveniles, Internet and Computer Crime

Blog banner

Virtual memory in os

Blog banner

From Classic to Flavoured: Exploring Different Types of Khari

Blog banner

Virtual memory

Blog banner

Old age lifestyle

Blog banner

Perfect Moments to Wear a Rich Patola Design Outfit

Blog banner

Threads

Blog banner

How to insert contacts in zoho crm using php

Blog banner

Danger assessment in GIS

Blog banner

The Chapped Lips and Dry Mouth Trap: The Sneaky Reason Cavities Spike in Winter

Blog banner

WHAT IS TWITTER AND HOW DOES IT WORK

Blog banner

Healthy Eating on a Budget: How to Get More Nutrition From Every Meal

Blog banner

virtual machine

Blog banner

Latest Email Marketing Techniques

Blog banner

CoWIN

Blog banner

Threads

Blog banner

Exploring Arcadia’s Cowboy Culture, Peace River & Hidden Attractions

Blog banner

Data Science in Everyday Life (like a phone, shopping cart, or social media icons)

Blog banner