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

SESSION HIJACKING

Blog banner

I/O Buffering

Blog banner

Network Forensics

Blog banner

THE DESIRE OF MANY

Blog banner

Deadlock

Blog banner

What Function Does SEO Serve in Digital Marketing?

Blog banner

OS ASSIGNMENT

Blog banner

Animal’s have my heart

Blog banner

Depression

Blog banner

What is Virtual Memory

Blog banner

I Personally

Blog banner

Characteristics of Etherum

Blog banner

The Evolution of Operating Systems

Blog banner

Digital Balance: Keeping Children Mindful in the Screen Age

Blog banner

IOT- Internet Of Things

Blog banner

Business Engineering

Blog banner

Population

Blog banner

Cyber-crime Investigation and Future Directions

Blog banner

Threads and concurrency

Blog banner

10 Amazing facts about Tokyo Ghoul

Blog banner

Virtual Memory

Blog banner

Artificial Intelligence (AI)

Blog banner

Full Disk Encryption on Digital Forensics

Blog banner

Classification Algorithms (Decision trees, SVM, Logistic regreession)

Blog banner

The Power of Cyber Forensic in Solving Crimes

Blog banner

How Reading Books Shape a Child’s Imagination and Thinking?

Blog banner

Operating system

Blog banner

Water Resources are about to exhaust...

Blog banner

Honeypot in cyber security

Blog banner

Microsoft powerpoint presentation

Blog banner

Google classroom

Blog banner

Why Time Management Is the Secret to College Success (and How to Master It)

Blog banner

SECURITY VULNERABILITIES COUNTERMEASURES IN A SMART SHIP SYSTEM

Blog banner

THE ROLE OF CYBER FORENSICS IN CRIMINOLOGY

Blog banner

Phishing

Blog banner

THE INPACT OF SOCIAL MEDIA!

Blog banner

E-learning in today's world

Blog banner

Data Acquisition in Cyber Forensics

Blog banner

I/O Buffering

Blog banner

Travel: Everything Everywhere!

Blog banner

CONCURRENCY: MUTUAL EXCLUSION AND SYNCHRONIZATION-het karia

Blog banner

Why is it hard to design an Operating Systems ?

Blog banner