wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Concurrency:Deadlock and Starvation

profile
Nihar Kotadia
Aug 13, 2024
0 Likes
0 Discussions
159 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

38_Network Sniffing Techniques_SBC

Blog banner

Concurrency and Deadlocks

Blog banner

Affiliate Marketing V/S Influencer Marketing

Blog banner

10 Reasons why Monica and Chandler are the best couple ever.!!!

Blog banner

Some web vulnerabilities

Blog banner

On-Page SEO

Blog banner

38_Exploring The Honeynet Project

Blog banner

SPEM

Blog banner

(Input/Output) in os

Blog banner

indian premier league

Blog banner

Microsoft powerpoint presentation

Blog banner

Linux

Blog banner

Virtual Memory

Blog banner

I/O Buffering

Blog banner

FREE VERSION OF G-MAIL

Blog banner

Mumbai

Blog banner

Virtual memory

Blog banner

Deadlock

Blog banner

evolution of operating system - Disha Parekh

Blog banner

FAMILY WHERE LIFE BEGINS....

Blog banner

The Role of Frontline Managers in Driving Workplace Performance and Customer Satisfaction

Blog banner

My Favorite Sportsperson

Blog banner

Traditional Unix System

Blog banner

Web browser forensics:Tools,Evidence collection and analysis

Blog banner

MODERN OPERATING SYSTEM

Blog banner

Article on team management software

Blog banner

BEAUTY IS IN THE EYE OF THE BEHOLDER

Blog banner

Caching windows

Blog banner

Privacy LAWs in IT

Blog banner

Direct memory access (DMA)

Blog banner

What is Minting & Mining

Blog banner

Types of Hackers

Blog banner

Health and fitness in technology

Blog banner

Intrusion Detection System

Blog banner

AOL Mail

Blog banner

Regression Analysis

Blog banner

Clarizen

Blog banner

Microsoft Word

Blog banner

COMMUNICATION

Blog banner

In the world of Technology...

Blog banner

15 Interesting Facts about India

Blog banner

EVOLUTION OF MICROPROCESSOR

Blog banner