wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Deadlock and Starvation

profile
Supriya Nagraj
Aug 14, 2024
0 Likes
0 Discussions
64 Reads

-Deadlock


Deadlock is a situation in computing where two or more processes are unable to proceed because each one is waiting for a resource that the other has locked. 


In technical terms, deadlock occurs when the following four conditions are met simultaneously:


1. Mutual Exclusion: At least one resource must be held in a non-shareable mode. Only one process can use the resource at a time.

2. Hold and Wait : A process is holding at least one resource and is waiting to acquire additional resources that are currently being held by other processes.

3. No Preemption : A resource cannot be forcibly taken away from a process. The process must release the resource voluntarily.

4. Circular Wait: There exists a set of processes where each process is waiting for a resource that is held by the next process in the chain, forming a circular chain of dependencies.


In a deadlock, none of the processes can proceed, and they remain stuck indefinitely unless an external action is taken to break the deadlock, such as terminating a process or forcibly taking resources.


-Starvation


Starvation is a condition where a process is perpetually denied the resources it needs to proceed because other processes are continuously being prioritized over it.


Starvation can occur in situations where:


  1. Resource Allocation Policies: If the system's resource allocation policy unfairly favors some processes over others, a low-priority process may be consistently delayed or ignored.

2. Priority Scheduling: In systems that use priority scheduling, a high-priority process may keep interrupting a lower-priority one, causing the latter to wait indefinitely.

3. Resource Contention: If a resource is constantly being used by other processes, the starved process might never get access to it.


Starvation is different from deadlock because, in a deadlock, the processes involved are permanently stuck, whereas in starvation, a process may eventually get the resources it needs if the circumstances change. However, in extreme cases, starvation can lead to a situation where a process never gets the resources it needs, effectively being "starved" indefinitely.


Comments ()


Sign in

Read Next

Mariana Trench: The deepest depths

Blog banner

IT GOVERNANCE

Blog banner

A BLOG ON MYSQL

Blog banner

Tools to support CSI activities

Blog banner

Importance of education

Blog banner

First-Order Logic (FOL): The Foundation of Modern Logic

Blog banner

MY MOST THRILLED TREK ..... BHAIRAVGAD

Blog banner

The New Dr. Frankenstein who will perform first full head transplant

Blog banner

Memory management

Blog banner

Understanding Input Based Keylogger Activation Systems: Risks and Mitigation

Blog banner

VIRTUAL MACHINE

Blog banner

Memory Management in Operating System

Blog banner

Memory management

Blog banner

Explain Multiprocessors

Blog banner

File Allocation Methods

Blog banner

File management

Blog banner

A Brief Review on Cyber Forensics and its Analysis Tool

Blog banner

Personalized Movie Recommendations with Data Science

Blog banner

Deadlock

Blog banner

NETWORK SECURITY RISKS

Blog banner

Domain Name System

Blog banner

The launch of UniMap by HERE

Blog banner

Latest Email Marketing Techniques

Blog banner

Memory heirachy (Operating system)

Blog banner

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

Blog banner

Juveniles, Internet and Computer Crime

Blog banner

How to kiss

Blog banner

Capacity management in ITSM

Blog banner

How Cyber Forensics use in AI

Blog banner

Recipe of Paneer Butter Masala

Blog banner

SMARTSHEET MANAGEMENT SYSTEM

Blog banner

I/O Management and Disk Scheduling

Blog banner

Importance of internet

Blog banner

Having passion in life

Blog banner

What is process

Blog banner

THE ROLE OF CYBER FORENSICS IN CRIMINOLOGY

Blog banner

Importance of modern technology era

Blog banner

Uniprocessor scheduling

Blog banner

Rapido

Blog banner

Memory management

Blog banner

Culture Of Ladakh

Blog banner

LISP - Library Management System

Blog banner