wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Concurrency and Deadlocks

profile
Akshat Gohil
Aug 12, 2024
0 Likes
0 Discussions
151 Reads

Concurrency:

Concurrency refers to the ability of the Operating Systems to execute multiple of processes or threads simultaneously for making efficient usage of CPU time/resources.

Processes are nothing but an instance of a program that is running with its own memory space.

 

OSes uses Context Switching mechanism to implement concurrency. It is the process of saving the current state of a currently executing process or thread and restoring other process or thread. This allows OS to switch between tasks giving an illusion of simultaneous execution.

Concurrency in OS leads to problems like Deadlock and Starvation.

 

Deadlock:

A deadlock is a situation when two are more processes are unable to proceed because each process is waiting for other to release a resource. This leads to a state where none of the processes can continue and they’re stuck indefinitely.

Deadlocks occur when several conditions are met simultaneously:

Mutual Exclusion: Resources are not shared and can be allocated to only one process at a time.

Hold and Wait: A process holding particular resources can request additional resources without releasing currently held.

No Preemption: Resources cannot be taken forcibly from resources and they must be freed simultaneously.

Circular Chain: A circular chain of process where processes wait for other to release resources held by them.

 

Deadlock Prevention:

Deadlock prevention ensures that at least one of the four conditions will not come true and will not lead to a deadlock from occurring.

Prevent Mutual Exclusion: Design systems where minimum number of resources are non-shareable, or convert non-shareable resources to shareable ones if possible reducing the probability of having deadlock.

Prevent Hold and Wait: Processes should request all the necessary resources before execution. If all resources not available it waits for them.

 

Prevent No Preemption: Allow pre-emption of resources where necessary to break deadlock conditions. If P2 needs a resource that P1 holds, P1 is forced to release its resource and wait until both resources are available. The system preempts P1, breaking the deadlock condition.

 

Prevent Circular Wait: Give each resource a unique priority. A process can only request resources in increasing order of their priority. This ensures there is always a linear dependency preventing circular wait.

 

Deadlock Avoidance:

Deadlock Avoidance dynamically decisions are made whether the granting the resource will potentially lead a deadlock.

A process is not granted a resource if it might lead to a deadlock.

Deadlock avoidance allows processes to request resources that prevents the system from entering a deadlock.

 

 

 

 

 

­­­­­­­

 


Comments ()


Sign in

Read Next

Defining youtubr

Blog banner

Demystifying Cryptography: A Beginner's Guide

Blog banner

The Right way of cooking

Blog banner

Natural Language Processing(NLP)

Blog banner

Never give up

Blog banner

Apache Spark :- Powerful Data Processing Tool

Blog banner

DIGITAL TECHNOLOGY

Blog banner

What is Internet

Blog banner

PYTHON

Blog banner

Excel records

Blog banner

How to kiss

Blog banner

Memory Management

Blog banner

Process in OS

Blog banner

Types of Malware in Cyber Security

Blog banner

Super Garlicky Tomato Soup with Smashed White Beans

Blog banner

VIRTUAL MACHINE

Blog banner

WHAT IS SNAPCHAT AND HOW DOES IT WORK?

Blog banner

Modern Operating System

Blog banner

Software Piracy & Online Data Protection in Digital World

Blog banner

Embedded Operating System

Blog banner

Lifestyle of a photographer

Blog banner

A True Friendship

Blog banner

Swiggi

Blog banner

Classification Vs Clustring? What's the diffrence?

Blog banner

This Windows 11 encryption bug may cause data damage

Blog banner

Introduction to Data Science: Life Cycle & Applications

Blog banner

Top 5 Places To Stay And Visit In Berlin, Germany

Blog banner

Privacy LAWs in IT

Blog banner

Way to make your meal healthier.

Blog banner

Landslide Hazard

Blog banner

Social engineering in cyber security

Blog banner

Making Money through Instagram

Blog banner

5 Stages of Digital Marketing

Blog banner

Different types of scam frauds

Blog banner

What are NFT s?

Blog banner

Operating system

Blog banner

Introduction to GIS

Blog banner

Embracing the power of Modern Machine UNIX

Blog banner

NETSUITE

Blog banner

Topic: Sessions in Operating system

Blog banner

A Heartfelt Act of Kindness

Blog banner

OS Evolution Achievements

Blog banner