wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Deadlock and starvation in operating system

profile
Nishchay Maurya
Jul 11, 2023
0 Likes
0 Discussions
30 Reads

Deadlock

All processes keep waiting for each other to complete and none get executed. Resources are blocked by the processes.A deadlock occurs when no process can proceed and becomes blocked . In other words, a deadlock occurs when multiple processes in the CPU compete for the limited number of resources available in the CPU .Deadlocks typically occur in systems that use resource allocation policies like mutual exclusion, hold and wait, no preemption, and circular wait. Let's discuss each of these conditions:

 

1)Mutual Exclusion: At least one resource must be held in a non-shareable mode, meaning that only one process can use it at a time. If a process requests a resource that is already held by another process, it must wait until the resource is released.

 

2)Hold and Wait: A process must be holding at least one resource while waiting to acquire additional resources. If a process holds a resource and requests another that is held by a different process, a situation of deadlock can occur if the second process is also waiting for a resource held by the first process.

 

3)No Preemption: Resources cannot be forcibly taken away from a process that is currently using them. The only way a resource can be released is voluntarily by the process holding it. This condition contributes to the possibility of deadlock, as processes may hold resources indefinitely.

 

4)Circular Wait: A set of processes is involved in a circular chain, where each process is waiting for a resource held by the next process in the chain. This circular dependency leads to a situation where no process can proceed.

 

 

 

 

Starvation 

Starvation happens when a low priority program requests a system resource but cannot run because a higher priority program has been employing that resource for a long time.

 

1)High priority processes keep executing and low priority processes are blocked. Resources are continuously utilized by high priority processes.When a process is ready to start executing, it waits for the CPU to allocate the necessary resources. However, because other processes continue to block the required resources, the process must wait indefinitely.

 

2)Deadlock: In a deadlock situation, multiple processes are waiting for resources that are held by other processes, forming a circular dependency. If the deadlock resolution policy in the operating system is ineffective, processes may remain deadlocked indefinitely, resulting in resource starvation for those processes.

For example, if a process is granted a large amount of memory and holds onto it for an extended period, other processes may be unable to acquire sufficient memory and may not be able to progress.

 

3)CPU Scheduling: In a multi-programmed operating system, if a scheduling algorithm always prioritizes certain processes over others, lower-priority processes may starve for CPU time. They may experience delays or never get a chance to execute if higher-priority processes continually occupy the CPU.


Comments ()


Sign in

Read Next

Personalized Movie Recommendations with Data Science

Blog banner

How covid-19 impacted Social media ad spend forecast globally

Blog banner

Artical on FreshBooks

Blog banner

File and File System Structure

Blog banner

Memory heirchy

Blog banner

MPL and how its effects?

Blog banner

Memory Management

Blog banner

Networking 101: How to Build Meaningful Connections in College

Blog banner

Esri India launches Policy Maps.

Blog banner

Consumer to consumer Business model

Blog banner

Modern OS

Blog banner

Modern Operating Systems

Blog banner

NodeJs

Blog banner

BUFFER OVERFLOW_142

Blog banner

OS PROCESS DESCRIPTION AND CONTROL-SARVAGYA JALAN

Blog banner

Child labour

Blog banner

Tiranga - Abbas Haveliwala

Blog banner

38_Network Sniffing Techniques_SBC

Blog banner

Are Social Media Paid Campaigns Worth It?

Blog banner

INSTAGRAM

Blog banner

Vikrant’s first blog

Blog banner

Buffers in Operating Systems

Blog banner

Natural Language Processing(NLP)

Blog banner

Virtual Memory

Blog banner

DISK SCHEDULING

Blog banner

Security in Cloud Computing

Blog banner

OS Assignment 3 Deadlock

Blog banner

10 Interesting Facts about Attack on Titan

Blog banner

GraphX:- A graph processing tool

Blog banner

SQL Injection

Blog banner

My First Trek - Sondai, Karjat - Shoaib Malik

Blog banner

Virtual memory in windows

Blog banner

All you need to know about “On-page SEO”

Blog banner

Scala - a programming tool

Blog banner

Malware Defense

Blog banner

PROCESS STATES OF OPERATING SYSTEM

Blog banner

Unlocking Success: Mastering Google Ads Strategies

Blog banner

Security in Cloud Computing Environment using cryptography - Rushabh Modi

Blog banner

Social Network Analysis: Ek Naya Nazariya Data Science Mein

Blog banner

IT GOVERNANCE

Blog banner

Fitness regime by Deepesh

Blog banner

Deadlock and Starvation

Blog banner