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

Fault Tolerance

Blog banner

Virtual memory

Blog banner

SAVE TREES

Blog banner

Privacy in Social Media and Online Services

Blog banner

Philadelphia Experiment : Was it real?

Blog banner

Travelling blog

Blog banner

Hypothesis Testing in Data Science

Blog banner

Topic: Sessions in Operating system

Blog banner

VIRTUAL MACHINES

Blog banner

Memory management

Blog banner

How to setup a professional looking business account on Instagram?

Blog banner

TRAIN TRAVELING

Blog banner

Interesting fact about kangaroo.

Blog banner

Predictive Analysis - Ek Overview

Blog banner

EID UL FITR

Blog banner

Building a Better You: Fitness Tips and Inspiration.

Blog banner

Kernel Modes: User Mode vs. Kernel Mode - 80

Blog banner

IP ADDRESS

Blog banner

K-means use cases

Blog banner

Explaining Buffer Overflow with Example

Blog banner

Photorec - media recovery tool

Blog banner

Some facts about Technology

Blog banner

Mobile Security

Blog banner

Child labour

Blog banner

Respondo Launches Revolutionary Video Discussion App

Blog banner

What is semaphore in operating system?

Blog banner

semaphores in os

Blog banner

Network Security Risks

Blog banner

10 Survival Tips that might save your life

Blog banner

Types of Hackers

Blog banner

memory cache

Blog banner

VIRTUAL MEMORY

Blog banner

USPS mail

Blog banner

SQL Injection practice on DVWA

Blog banner

Deadlocks in Operating System

Blog banner

Basic Security For SOAP Services

Blog banner

Mango Raisin Chutney (sweet mango raisin spread)

Blog banner

Constrains in service design

Blog banner

Simple Ways of Avoiding Basic Mistakes in Smart Phone Security

Blog banner

Service Validation and Testing during the Design Phase

Blog banner

10 Reasons Why Guy BestFriends are the Must in Every Girl's Life

Blog banner

Modern Operating System - Khush Bagaria

Blog banner