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

Linux VServer Architecture

Blog banner

Information of meesho company

Blog banner

Importance Of Yoga.

Blog banner

SQL Injection

Blog banner

SECURITY RISKS OF REMOTE WORKING

Blog banner

Data Visualization in Decision-Making

Blog banner

Security in Operating Systems

Blog banner

CYBERBULLYING: Negative comments!

Blog banner

Throttle engine ’Sneak peek into the future’

Blog banner

Tableau

Blog banner

Cyber Crime Investigation In The Era Of Big Data

Blog banner

Security in Cloud Computing Environment using cryptography - Rushabh Modi

Blog banner

PERSONALITY DEVELOPMENT

Blog banner

Deadlock and starvation in operating system

Blog banner

The Five Steps of Data Science

Blog banner

A-B-C of Networking: Part-3 (Topology [Ring, Tree, Mesh])

Blog banner

Social Engineering Attacks

Blog banner

Blockchain uses and use cases

Blog banner

Data Mining

Blog banner

Health and fitness

Blog banner

Internet: The Vast Ocean Of Knowledge.

Blog banner

Deadlock in Operating System

Blog banner

Cache memory

Blog banner

Theads

Blog banner

Types of Threads

Blog banner

Vikrant’s first blog

Blog banner

Place to visit in pune

Blog banner

What is Influencer Marketing and its Trends

Blog banner

Cyber Attacks -- Trends Patterns and Security Countermeasures

Blog banner

Social Media.

Blog banner

"Life as a Part-time Student"

Blog banner

MIDDLE CLASS MELODIES!!

Blog banner

Evolution of the Microprocesor

Blog banner

Modern Operating system

Blog banner

LINUX

Blog banner

Supervised and Unsupervised Learning

Blog banner

VIRTUAL MACHINE

Blog banner

Tools to support CSI activities

Blog banner

Why we should do reading

Blog banner

Digital Balance: Keeping Children Mindful in the Screen Age

Blog banner

Full Disk Encryption

Blog banner

EdTech (Education Technology)

Blog banner