wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Deadlock

profile
Jeet Ved
Aug 15, 2024
0 Likes
0 Discussions
67 Reads

Concurrency in operating systems involves multiple processes or threads executing simultaneously, which can lead to complex interactions. Two common problems that arise in this context are deadlock and starvation. Here’s an overview of both:


1. *Deadlock*


A deadlock occurs when a set of processes or threads become stuck in a situation where each one is waiting for a resource that the others in the set are holding. Since none of them can proceed, they remain in this waiting state indefinitely. Four conditions are necessary for a deadlock to occur:


- *Mutual Exclusion:* At least one resource must be held in a non-sharable mode; only one process can use the resource at any given time.


- *Hold and Wait:* A process holding at least one resource is waiting to acquire additional resources that are currently being held by other processes.


- *No Preemption:* Resources cannot be forcibly taken away from a process; they must be released voluntarily.


- *Circular Wait:* A closed chain of processes exists, where each process holds a resource that the next process in the chain is waiting for.


*Example:* Consider two processes, P1 and P2. P1 holds Resource A and is waiting for Resource B, while P2 holds Resource B and is waiting for Resource A. Neither process can proceed, leading to a deadlock.


 *Deadlock Prevention and Avoidance*


- *Deadlock Prevention:* Modify one of the necessary conditions to ensure that a deadlock cannot occur (e.g., imposing a strict order on resource allocation to prevent circular wait).


- *Deadlock Avoidance:* Use algorithms (e.g., Banker's algorithm) to allocate resources in a way that ensures the system remains in a safe state.


 2. *Starvation*


Starvation, also known as indefinite blocking, occurs when a process is perpetually denied necessary resources because other processes keep gaining access to them first. Unlike deadlock, where processes stop making progress due to being stuck in a cycle, starvation involves one or more processes making no progress because they are continually bypassed.


*Example:* Consider a scheduling system where high-priority processes keep getting resources, and a low-priority process is continually skipped over, leading to starvation.


 *Solutions to Starvation*


- *Aging:* Gradually increase the priority of a waiting process over time to ensure it eventually gets the resources it needs.


- *Fair Scheduling Algorithms:* Use algorithms like round-robin or fair share that ensure all processes eventually receive attention.






Name:Jeet Ved


SAP ID:53003230116


DIV:B


Comments ()


Sign in

Read Next

My favourite food

Blog banner

Buffering

Blog banner

Smitten Kitchen Keepers

Blog banner

Objectives and functions of Operating System...

Blog banner

AI and Cyber Security

Blog banner

38_Exploring The Honeynet Project

Blog banner

Flipkart

Blog banner

What is Spyware?

Blog banner

Google classroom

Blog banner

Distributed Denial of Service (DDoS) attack

Blog banner

Race Conditions

Blog banner

What is thread and alse multithreading

Blog banner

Instagram Features in 2023 That Will Leave You Stunned!

Blog banner

Starvation

Blog banner

10 Problems you face if you are an Otaku

Blog banner

FASHION

Blog banner

Starvation and Deadlock.

Blog banner

PERT Overview

Blog banner

Zero-Click Searches: How To Stay Visible In Google’s New Era

Blog banner

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

Blog banner

ART AND CULTURE OF VRINDAVAN

Blog banner

Phishing

Blog banner

Interrupts in operating system.

Blog banner

Uniprocessor Scheduling

Blog banner

Virtual memory

Blog banner

Virtual Memory

Blog banner

Sweet and Sour Mango Pickle (Gol Keri)

Blog banner

Safe Learning Spaces: Why Preschool Environment Matters More Than Ever Today

Blog banner

Explain DBMS in Brief

Blog banner

Define Instagram.

Blog banner

Jira Software

Blog banner

What is Password Cracking ? and it's Techniques.

Blog banner

Kernel Memory Allocation In Linux.

Blog banner

Environmental Management using GIS

Blog banner

De-Coding Love

Blog banner

INTERRUPTS

Blog banner

gis substation

Blog banner

Virtual memory in windows

Blog banner

Banaras

Blog banner

DEVELOPMENTS LEADING TO MODERN OPERATING SYSTEMS

Blog banner

The Impact of Tolerances and Wall Thickness on Pipeline Integrity

Blog banner

Virtual Machine

Blog banner