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

Automating OSINT tasks for efficient Cyber Forensics Investigations

Blog banner

Buffer Overflow

Blog banner

Development Of Modern Operating System

Blog banner

Direct Memory Access

Blog banner

Multiprocessor

Blog banner

SPEM

Blog banner

USES OF WHATSAPP

Blog banner

GEOLOGY AND GEO-TECTONIC FRAME WORK OF WESTERN BASTAR CRATON

Blog banner

Water Resources are about to exhaust...

Blog banner

Subnet Masking

Blog banner

Types of Big Data

Blog banner

Senseless Teeths

Blog banner

Atlantis - The Lost Island.........

Blog banner

Delhi city

Blog banner

Introduction to Data Science: Life Cycle & Applications

Blog banner

Bharat Maps

Blog banner

File Allocation Methods

Blog banner

MENDELEY

Blog banner

Best password managers: Reviews of the top products

Blog banner

Operating system

Blog banner

What is Spyware?

Blog banner

Malicious softwares

Blog banner

Life of a 2020-2021 student

Blog banner

Virtual Machine

Blog banner

Deadlock

Blog banner

File and File System Structure

Blog banner

Improving the Accuracy of GPS and GNSS

Blog banner

Anomaly Detection in Behavioral Data Using Machine Learning

Blog banner

Disk cache

Blog banner

indian premier league

Blog banner

Uniprocessor Scheduling

Blog banner

Privacy-Enhancing Computation Techniques

Blog banner

Dekkers Algorithm

Blog banner

Evolution of OS

Blog banner

Memory Management

Blog banner

Advantage of freedom

Blog banner

DIGITAL TECHNOLOGY

Blog banner

Virtual Machine

Blog banner

Heart Fulness Meditation

Blog banner

INSTAGRAM

Blog banner

What Function Does SEO Serve in Digital Marketing?

Blog banner

Direct Memory Access

Blog banner