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

MoSCoW METHOD IN DATA SCIENCE

Blog banner

Instagram

Blog banner

Top 3 Places To Stay In Vienna

Blog banner

Hosting basics

Blog banner

Paginng In OS

Blog banner

Hash password! Is it really secured?

Blog banner

UniProcessor Scheduling

Blog banner

IT Service as as Value Creation

Blog banner

Deadlock

Blog banner

THE DESIRE OF MANY

Blog banner

Cloud Security: Trends and Innovations

Blog banner

FREE VERSION OF G-MAIL

Blog banner

Vikrant’s first blog

Blog banner

Objectives and Functions of Operating System

Blog banner

John Titor: The Time Traveler

Blog banner

Cybersecurity Standards for Automotive

Blog banner

Yahoo! mail

Blog banner

Raising mental health burden: A global and Indian perspective

Blog banner

Importance of Network Security Risk

Blog banner

Memory management

Blog banner

Game via listing method

Blog banner

Concurrency management in operating systems

Blog banner

Pipedrive

Blog banner

Memory management

Blog banner

Decoding Confusion Matrix

Blog banner

Dudhasagar waterfall ?

Blog banner

MOVEMBER

Blog banner

memory managment

Blog banner

Constrains in service design

Blog banner

Concurrency:Deadlock and Starvation

Blog banner

Utilizing Data-Hiding and Retrieval Techniques in Cyber Forensics

Blog banner

Multiprocessor and Multicore Organization

Blog banner

Webmail

Blog banner

LTE Technology

Blog banner

Deadlocks in Operating System

Blog banner

Traveling

Blog banner

Data carving - using hex editor

Blog banner

"Audit" In Data Science

Blog banner

Virtual memory

Blog banner

Session Vulnerabilities

Blog banner

Service Operations Principles

Blog banner

OS Assignment-3

Blog banner