wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Concurrency:Deadlock and Starvation

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

Security and E-mail

Blog banner

1.1 basic elements

Blog banner

HubSpot

Blog banner

Importance of education

Blog banner

The Right way of cooking

Blog banner

Telegram and it's features

Blog banner

From Model Mistakes to Metrics

Blog banner

RAID

Blog banner

Service Transition Process in ITSM

Blog banner

Mail merge

Blog banner

Why Skipping Afternoon Meals Affects More Than Just Your Hunger?

Blog banner

Big Data Architecture

Blog banner

operating system

Blog banner

What does the Australian summer have in store for your oral health?

Blog banner

My Favorite Country

Blog banner

Kernel in Operating System

Blog banner

PROCESS STATE:

Blog banner

Security Issues and Countermeasures

Blog banner

CONCURRENCY

Blog banner

Deadlocks in Operating System

Blog banner

File management

Blog banner

SECURITY VULNERABILITIES COUNTERMEASURES IN A SMART SHIP SYSTEM

Blog banner

Monday. com App

Blog banner

The evolution of OS

Blog banner

MEMORY MANAGEMENT (techniques)

Blog banner

Fault Tolerance

Blog banner

Threats To Computer System

Blog banner

Security in Cloud Computing

Blog banner

File management In Operating System

Blog banner

Deadlock and Starvation

Blog banner

Mendeley (management software)

Blog banner

Twisted world

Blog banner

Why is ITSM important in IT organization?

Blog banner

LEMON PICKLE (NIMBU KA ACHAR)

Blog banner

Raid and levels of raid.

Blog banner

Understanding Regression Analysis

Blog banner

Virtual Machine

Blog banner

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

Blog banner

Threads

Blog banner

Full Disk Encryption on Digital Forensics

Blog banner

Odoo

Blog banner

Improving the Accuracy of GPS and GNSS

Blog banner