wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Concurrency:Deadlock and Starvation

profile
Nihar Kotadia
Aug 13, 2024
0 Likes
0 Discussions
165 Reads

In Operating Systems, concurrency refers to the ability of multiple processes to execute simultaneously, sharing common resources such as CPU time, memory, and I/O devices. However, this concurrency can lead to two major problems: Deadlock and Starvation.

Deadlock:

A deadlock is a situation where two or more processes are blocked indefinitely, each waiting for the other to release a resource. This occurs when the following four conditions are met:

  1. Mutual Exclusion: Two or more processes require exclusive access to a common resource.
  2. Hold and Wait: A process holds a resource and waits for another resource, which is held by another process.
  3. No Preemption: The operating system cannot preempt a process holding a resource.
  4. Circular Wait: A circular chain of processes exists, where each process waits for a resource held by the next process in the chain.

Starvation:

Starvation is a situation where a process is unable to gain access to a shared resource and is indefinitely postponed. This occurs when a process is waiting for a resource that is being held by another process, and the waiting process is not given a chance to execute.

Causes of Starvation:

  1. Priority Scheduling: A process with a lower priority may be starved of CPU time if a higher-priority process is always running.
  2. Resource Constraints: A process may be starved of a resource if another process is holding onto it for an extended period.
  3. Scheduling Algorithms: Certain scheduling algorithms, such as First-Come-First-Served (FCFS), can lead to starvation.

Prevention of Deadlock and Starvation:

To prevent deadlock and starvation, operating systems use various techniques, including:

  1. Resource Ordering: Ordering resources to prevent circular waits.
  2. Banker's Algorithm: A resource allocation algorithm that prevents deadlock.
  3. Priority Ceiling Protocol: A protocol that prevents starvation by assigning a priority ceiling to each resource.
  4. Scheduling Algorithms: Using scheduling algorithms that prevent starvation, such as Round Robin (RR) and Multilevel Feedback Queue (MFQ).

Comments ()


Sign in

Read Next

Android Application Components and Activity Lifecycle

Blog banner

A MODERN OPERATING SYSTEM

Blog banner

Layers Of Blockchain

Blog banner

Social Media.

Blog banner

VIRTUAL MACHINES

Blog banner

Deadlock

Blog banner

Article on Zoho Corporation

Blog banner

Love is in air.....

Blog banner

Virtual memory

Blog banner

Security issues

Blog banner

What is HTML?

Blog banner

american greatines

Blog banner

Self managing devices

Blog banner

Modern Operating Systems.

Blog banner

Fault Tolerance in an Operating System

Blog banner

Image Steganalysis in Digital Forensics

Blog banner

Ethical Hacking

Blog banner

Why Khari and toast is the ideal Tea Break snack?

Blog banner

USES OF WHATSAPP

Blog banner

How to write a cover letter

Blog banner

Classification Algorithms (Decision trees, SVM, Logistic regreession)

Blog banner

Is Pursuing a Dance Career in India Worth it?

Blog banner

Virtual Machine

Blog banner

COMPUTER FORENSICS AND GRAPHICS

Blog banner

Synchronization

Blog banner

Process Creation

Blog banner

memory cache

Blog banner

Memory management and virtual memory

Blog banner

RAID

Blog banner

Short note on expert system

Blog banner

Understanding Suicidal Thoughts and Self-Harm: Recognising the Signs and Finding Hope

Blog banner

note taker app

Blog banner

Deadlock and Starvation

Blog banner

De-Coding Love

Blog banner

Mesh Topology

Blog banner

Direct Memory Access

Blog banner

Satellite Based Positioning

Blog banner

Guidelines for a Low sodium Diet.

Blog banner

 " Healing of Yoga "

Blog banner

BEAUTY IS IN THE EYE OF THE BEHOLDER

Blog banner

Importance of business process documentation

Blog banner

Art and Culture of Rajasthan

Blog banner