wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Deadlock and Starvation

profile
tannie undefined
Aug 13, 2024
0 Likes
0 Discussions
100 Reads

Deadlock and Starvation

 

Introduction:

Deadlock and starvation are the situations where processes are unable to proceed, but they occur in different condition. Deadlock and Starvation are the critical issues related to the process of synchronization in the operating system. Let’s study more about Deadlock and Starvation.

Deadlock:-

A deadlock is the situation in the operating system where the processes become stuck because each process is waiting for resources held by the other process in the same set, which leads to none of the processes can proceed, and they are indefinitely blocked. Deadlock only happens when 4 conditions which are known as coffman’s conditions, are met simultaneously.

1.Mutual Exclusion: Resources cannot be shared by the processes. Only one process can use the resource at the time.

2.Hold and wait : Processes that are already holding resource can request additional resources that are held by other processes.

3. No premmption : Resources cannot be forcefully take away from the process. Resources must be released voluntarily by the process holding them.

4. Circular wait : There is circular chain of the processes where each process is waiting for a resource held by the next process in the chain.

Example: consider there are two processes, p1 and p2 and two resources, r1 and r2 . If p1 holds r1 and p2 requests r2 while p2 holds r2 and requests r1, neither process can proceed, leading to circular chain and deadlock.

Deadlock Handling:

1.    Prevention: By altering the system's resource allocation policy to ensure that at least one of Coffman’s conditions cannot hold.

2.     Avoidance: One can use algorithms like Banker’s algorithm to dynamically examine the allocation of resources to ensure that a deadlock state will not occur.

3.    Detection and Recovery:   By allowing the system to enter a deadlock state and then detecting and recovering from it, often by terminating one or more processes or forcibly taking resources from a process.

4.    Ignoring: Often Referred as the "ostrich algorithm," where the system assumes that deadlock will not occur or occur rarely, and no action is taken.

Starvation :

Starvation is also known as indefinite blocking that occurs when a process is perpetually denied access to the resources it needs to process. Unlike the deadlock, where processes are completely stuck , starvation occurs when a process continuously waits while other processes re repeatedly given preference.

Example: In a system where a high-priority process continuously pre-empts resources, lower-priority might never get resources that they need leading to starvation.

Starvation handling:

1.    Priority Inheritance : By temporarily raising the priority of the process holding the resources needed by a higer-priority process.

2.    Aging: Gradually increasing the priority of waiting process to ensure they eventually acquire the necessary resources.

3.    Fair scheduling: by ensuring all the processes get the chance to execute by using algorithms like round-robin scheduling.


Comments ()


Sign in

Read Next

Decoding the Weave — How to Identify Original Patola Art on a Fabric

Blog banner

Throttle engine ’Sneak peek into the future’

Blog banner

How To Invest In Indian Stock Market @ BSE & NSE ~ Tutorial 3

Blog banner

Challenges of Digital forensics in cloud computing environment

Blog banner

The Difference Between Plaque and Tartar Explained Simply

Blog banner

Outlook mail

Blog banner

Smitten Kitchen Keepers

Blog banner

The Essential Guide to Dynamic Arrays vs. Linked Lists: Which to Use and When ?

Blog banner

Why Soft Skills Matter as Much as Grades?

Blog banner

Service Design Principles

Blog banner

Question

Blog banner

An Approach To Spyware Detection And Removal

Blog banner

ARTICAL ON MANAGEMENT SYSTEM

Blog banner

The Evolution of the Microprocessor ~ Aditya Pai

Blog banner

MailChimp

Blog banner

Supervised and unsupervised learning

Blog banner

How Harshad Valia International School is nurturing India’s Young Minds?

Blog banner

From Model Mistakes to Metrics

Blog banner

Workplace mental health: A Psychological Perspective on Employee Well-being and Organizational Growth

Blog banner

Scheduling

Blog banner

Threads Concurrency: Mutual Exclusion and Synchronization

Blog banner

Affiliate Marketing V/S Influencer Marketing

Blog banner

How I use google in my daily life

Blog banner

Should you be using a mouthwash? Know from the experts

Blog banner

Dove’s Real Beauty Campaign- Case Study

Blog banner

How to Run your First android App

Blog banner

Processes : Process description and control

Blog banner

Race Condition

Blog banner

File system

Blog banner

A Brief Review on Cyber Forensics and its Analysis Tool

Blog banner

Goa Trip With Friends

Blog banner

Memory input output management

Blog banner

Fun Christmas Activities For Toddlers & Kids

Blog banner

Cache Memory in Operating Systems

Blog banner

Memory heirchy

Blog banner

Introduction to Data Science: Life Cycle & Applications

Blog banner

E-Cash (Electronic Cash)

Blog banner

GIS Applications: How Different Industries are Leveraging Geospatial Data

Blog banner

Teamwork

Blog banner

Emotional Suppression: The Hidden Costs Of Unfelt Feelings

Blog banner

Booting Process In Operating System

Blog banner

Is Social Media Marketing The Next Wave Of Digital Marketing?

Blog banner