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

What is Network Security?

Blog banner

Tableau

Blog banner

Practical Implementation of Client Server model using TCP/IP.

Blog banner

Importance of Education

Blog banner

Cybersecurity Standards for Automotive

Blog banner

Network Security Risks

Blog banner

Evolution of Operating System

Blog banner

A little bit of salt is all the hash needs!

Blog banner

Constrains in service design

Blog banner

Short note on Microsoft office

Blog banner

WAKE UP ITS FOOD o'CLOCK...!!!!!

Blog banner

Travel: Everything Everywhere!

Blog banner

Ransomware

Blog banner

Hubspot

Blog banner

Social media

Blog banner

DURGA POOJA

Blog banner

Mumbai

Blog banner

Harsh Rathod

Blog banner

Cyber-crime Investigation and Future Directions

Blog banner

India Digital Personal Data Protection Act, 2023

Blog banner

Atlantis - The Lost Island.........

Blog banner

Four Stalls Every Vegetarian Needs To Eat At Outside Vile Parle Station

Blog banner

Types of OS

Blog banner

Objectives and Functions of Operating System

Blog banner

Love is in air.....

Blog banner

Functions of operating system

Blog banner

Soak knowledge and level up your intellectual potential!!!

Blog banner

OS- Assignnment 1

Blog banner

Mendeley (management software)

Blog banner

File Management system

Blog banner

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

Blog banner

HUBSPOT

Blog banner

Privacy LAWs in IT

Blog banner

What is online marketing and why do you need to know about it ?

Blog banner

Uniprocessor Scheduling

Blog banner

Digital Forensics Challenges and Tools

Blog banner

Software Piracy & Online Data Protection in Digital World

Blog banner

What is process

Blog banner

Yoga in INDIA and ABROAD

Blog banner

OPERATING SYSTEM OBJECTIVES AND FAULT TOLERENCE.

Blog banner

Concurrency and Deadlocks

Blog banner

DATA VAULT

Blog banner