wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Deadlock and Starvation

profile
Supriya Nagraj
Aug 14, 2024
0 Likes
0 Discussions
56 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

Cycling

Blog banner

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

Blog banner

A Journey By Train

Blog banner

Deadlock

Blog banner

MOVEMBER

Blog banner

MIDDLE CLASS MELODIES!!

Blog banner

Embaded operating system

Blog banner

I/O Buffering

Blog banner

Wrike

Blog banner

Sage

Blog banner

The Evolution of Operating Systems

Blog banner

IO Buffers

Blog banner

From Loom to Luxury: How Patola Elevates Modern Wardrobes

Blog banner

Friendship

Blog banner

Fault Tolerance

Blog banner

TRAIN TRAVELING

Blog banner

DURGA POOJA

Blog banner

A BLOG ON MYSQL

Blog banner

Survey of Which Movies Types people are Prefer to Watch in India.

Blog banner

Why Should You Schedule Tweets on Twitter?

Blog banner

Travel: Everything Everywhere!

Blog banner

PROCESS STATE:

Blog banner

Virus

Blog banner

Importance Of Yoga.

Blog banner

Fitness

Blog banner

Security requirements for Safe E-Payments

Blog banner

Amazon

Blog banner

DNS Cache

Blog banner

Internet of Things

Blog banner

Binary Search Tree (BST) in Data Structure

Blog banner

Article on team management software

Blog banner

Indian Culture and Tradition

Blog banner

1.1 basic elements

Blog banner

DMZ: Your Secret Weapon for Data Security

Blog banner

Clarizen

Blog banner

rupee

Blog banner

Exploring Human Factors in Cyber Forensics Investigations.

Blog banner

Operating system

Blog banner

Personalized Movie Recommendations with Data Science

Blog banner

About myself

Blog banner

Apple

Blog banner

File Management

Blog banner