wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Deadlock and Starvation

profile
Supriya Nagraj
Aug 14, 2024
0 Likes
0 Discussions
65 Reads

-Deadlock


Deadlock is a situation in computing where two or more processes are unable to proceed because each one is waiting for a resource that the other has locked. 


In technical terms, deadlock occurs when the following four conditions are met simultaneously:


1. Mutual Exclusion: At least one resource must be held in a non-shareable mode. Only one process can use the resource at a 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 : A resource cannot be forcibly taken away from a process. The process must release the resource voluntarily.

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


In a deadlock, none of the processes can proceed, and they remain stuck indefinitely unless an external action is taken to break the deadlock, such as terminating a process or forcibly taking resources.


-Starvation


Starvation is a condition where a process is perpetually denied the resources it needs to proceed because other processes are continuously being prioritized over it.


Starvation can occur in situations where:


  1. Resource Allocation Policies: If the system's resource allocation policy unfairly favors some processes over others, a low-priority process may be consistently delayed or ignored.

2. Priority Scheduling: In systems that use priority scheduling, a high-priority process may keep interrupting a lower-priority one, causing the latter to wait indefinitely.

3. Resource Contention: If a resource is constantly being used by other processes, the starved process might never get access to it.


Starvation is different from deadlock because, in a deadlock, the processes involved are permanently stuck, whereas in starvation, a process may eventually get the resources it needs if the circumstances change. However, in extreme cases, starvation can lead to a situation where a process never gets the resources it needs, effectively being "starved" indefinitely.


Comments ()


Sign in

Read Next

?How long does wisdom tooth pain last?

Blog banner

Types of threads

Blog banner

Teamwork

Blog banner

First-Order Logic (FOL): The Foundation of Modern Logic

Blog banner

Data Science in Healthcare: Predicting Diseases

Blog banner

MQTT (MQ Telemetry Transport) in Data Science

Blog banner

"Audit" In Data Science

Blog banner

How Does SSO Works

Blog banner

Deadlock in operating system

Blog banner

Apache Kafka

Blog banner

Importance of Morning Routines for Students During the Festive Season

Blog banner

The Role of Frontline Managers in Driving Workplace Performance and Customer Satisfaction

Blog banner

Memory management

Blog banner

Kernel Modes: User Mode vs. Kernel Mode - 80

Blog banner

Memory management

Blog banner

Paid Email

Blog banner

Importance of self defence for girls

Blog banner

Cyber Crime Investigation In The Era Of Big Data

Blog banner

Service Strategy principles

Blog banner

Sweet Mango Murabba

Blog banner

Salt, Sand, and Smiles: Does the Maroubra Lifestyle Affect Your Enamel?

Blog banner

Different types of scam Fraud

Blog banner

IoT Architecture Based Security

Blog banner

Deadlock and Starvation

Blog banner

Google

Blog banner

Philadelphia Experiment : Was it real?

Blog banner

Wedding photographer

Blog banner

Never give up

Blog banner

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

Blog banner

Virtual memory

Blog banner

IT Service Continuity Management

Blog banner

Dudhasagar waterfall ?

Blog banner

The Role of Fibre in Everyday Nutrition and Digestive Health

Blog banner

Product Discount Calculator

Blog banner

Dal Bafla Recipe

Blog banner

Hypothesis Testing in Data Science

Blog banner

Save Environment

Blog banner

VIRTUAL MEMORY

Blog banner

Full Disk Encryption

Blog banner

Principal of concurrency

Blog banner

RAID - LEVELS OF RAID

Blog banner

Data Warehousing

Blog banner