wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Deadlock and Starvation

profile
Kush Patel
Aug 15, 2024
0 Likes
0 Discussions
108 Reads

Deadlock and Starvation are two issues that can occur in computer systems, particularly in the context of concurrent processes and resource management.


Deadlock occurs in a system when a set of processes are each waiting for a resource held by another process in the set, causing all of them to be stuck in a state of waiting with no progress being made. For instance, imagine two processes: Process A and Process B. Process A holds Resource 1 and needs Resource 2 to continue, while Process B holds Resource 2 and needs Resource 1 to proceed. Neither process can continue because they are each waiting for the other to release a resource, leading to a cycle of dependencies with no process able to move forward. Deadlocks can be avoided or managed through techniques such as resource allocation graphs, deadlock detection algorithms, or using protocols like Banker's algorithm.

Starvation

Starvation occurs when a process is perpetually denied the resources it needs for execution because other processes are continuously allocated these resources. This problem can arise from improper scheduling or resource allocation policies. For example, in a priority-based scheduling system, if high-priority processes continuously arrive, lower-priority processes may never get a chance to execute. This is because the system always prioritizes the high-priority processes, leading to the lower-priority ones being indefinitely postponed. Starvation can be mitigated through techniques such as aging, where the priority of a process is gradually increased the longer it waits, ensuring that eventually, it gets the resources it needs.


Both deadlock and starvation are critical concerns in system design. Deadlock represents a state of complete standstill in resource usage, while starvation indicates an unfair allocation of resources leading to some processes never completing. Proper system design and management strategies are essential to avoid or resolve these issues, ensuring efficient and fair resource utilization.


Comments ()


Sign in

Read Next

1.1 basic elements

Blog banner

10 Alien Encounters and Abduction Stories

Blog banner

Mobile Security

Blog banner

Building a Simple Doctor Appointment System in Common Lisp

Blog banner

What is Amazon?

Blog banner

Multiprocessor and scheduling

Blog banner

Business Intelligence v/s Big Data

Blog banner

How the mobile IP is used in GSM architecture.

Blog banner

Cyber Forensics

Blog banner

Ubiquitous Computing

Blog banner

OS PROCESS DESCRIPTION AND CONTROL-SARVAGYA JALAN

Blog banner

HUBSPOT

Blog banner

Record Blocking

Blog banner

Decision Tree: A Diagram Model

Blog banner

My favourite food

Blog banner

Service transistion under difficult conditions

Blog banner

STUDY OF SYSTEM HACKING TOOLS

Blog banner

The Sunny Side of Instagram

Blog banner

Clustering Techniques

Blog banner

Deadlock

Blog banner

Fault Tolerance

Blog banner

Strengthening Active Directory Security

Blog banner

PROCESS CONTROL BLOCK IN OS

Blog banner

Smitten Kitchen Keepers

Blog banner

10 Types of Friends in every friend group

Blog banner

Gamer life

Blog banner

RSA (Rivest-Shamir-Adelman) Algorithm

Blog banner

HACKING MOBILE PLATFORM

Blog banner

OPERATING SYSTEM OBJECTIVES AND FAULT TOLERENCE.

Blog banner

A MODERN OPERATING SYSTEM

Blog banner

Direct Memory Access

Blog banner

Health and fitness in technology

Blog banner

A little bit of salt is all the hash needs!

Blog banner

undefined

Blog banner

Disk scheduling

Blog banner

USES OF WHATSAPP

Blog banner

Virtualization

Blog banner

Virtual Memory - Explaination, Working, Steps

Blog banner

Developments in Modern Operating Systems

Blog banner

Data Mapping

Blog banner

Memory Management in Operating System

Blog banner

A BLOG ON MYSQL

Blog banner