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

Understanding Input Based Keylogger Activation Systems: Risks and Mitigation

Blog banner

Deadlock and starvation

Blog banner

Virus

Blog banner

Linux

Blog banner

Esri India launches Policy Maps.

Blog banner

TOP 5 GAMING GADGETS (2024)

Blog banner

The Rich Heritage Of Patola Sarees: Gujarat’s Timeless Weaving Art

Blog banner

Deadlock and Starvation

Blog banner

Virtual memory

Blog banner

Cloud Computing: Threats and Vulnerabilities

Blog banner

Veg Mix Pickle

Blog banner

Sweet Mango Murabba

Blog banner

Bharat Maps

Blog banner

BUFFER OVERFLOW_142

Blog banner

ASANA- A Management System.

Blog banner

Multiple-Processor Scheduling in Operating System

Blog banner

Throttle engine ’Sneak peek into the future’

Blog banner

Fitness

Blog banner

MEMORY MANAGEMENT (techniques)

Blog banner

Every body is beautiful

Blog banner

Memory management

Blog banner

Protect yourself from System Hacking with these Simple Steps

Blog banner

The Art of Slow Fashion: Why Patola Defines Sustainable Luxury

Blog banner

Threads and concurrency

Blog banner

Blockchain in IoT Applications

Blog banner

Article on Team Work

Blog banner

GIS in Mapping and landslide alert in Bangladesh

Blog banner

Processes : Process description and control

Blog banner

Virtualization

Blog banner

Why Inconel 625 and Monel 400 Remain Unbeatable in Refinery Applications?

Blog banner

Segmentation and paging concept

Blog banner

Install Ubuntu in Vmware

Blog banner

PODIO

Blog banner

Evolution of Operating system

Blog banner

File Sharing

Blog banner

Linux -V Server Virtual Machine

Blog banner

John Titor: The Time Traveler

Blog banner

How To Invest in Indian Stock Market For Beginners. ~ Tutorial 2 (NSDL And CSDL) Continued...

Blog banner

Starvation

Blog banner

Computer security techniques

Blog banner

Quality check in IT services

Blog banner

MySQL

Blog banner