wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Concurrency and Deadlocks

profile
Akshat Gohil
Aug 12, 2024
0 Likes
0 Discussions
150 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

Virtual memory

Blog banner

Virtual memory

Blog banner

Computer Forensics and its Impact in Business Environment

Blog banner

Building a Better You: Fitness Tips and Inspiration.

Blog banner

Inventory management software system

Blog banner

ProofHub

Blog banner

Multiprocessor and Multicore Organization

Blog banner

Human Error: The weakest link in Cybersecurity

Blog banner

Some web vulnerabilities

Blog banner

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

Blog banner

Segmentation and paging concept

Blog banner

What type of stock broker do I need?

Blog banner

What is a Malware ?

Blog banner

Deadlock and starvation in operating system

Blog banner

How India made the GIS its Own, and its Use in Infrastructural Developments

Blog banner

Scala - a programming tool

Blog banner

Cloud Computing

Blog banner

Data carving - using hex editor

Blog banner

Visualization in Data Science

Blog banner

Google classroom

Blog banner

How to Conquer Depression ?

Blog banner

Decoding the Weave — How to Identify Original Patola Art on a Fabric

Blog banner

Chicken Dum Biryani

Blog banner

Self Confidence

Blog banner

Atlantis - The Lost Island.........

Blog banner

Payment Card Industry - Data Security Standard PCI-DSS compliance for online banking applications

Blog banner

How To Invest in Indian Stock Market For Beginners. ~ Tutorial 2 (NSDL And CSDL) Continued...

Blog banner

Corporate Discipline.

Blog banner

Gamer life

Blog banner

CYBERPEACEKEEPING: NEW WAYS TO PREVENT AND MANAGE CYBERATTACKS

Blog banner

10 Rare Historic Pictures that are Ever Captured

Blog banner

Service Catalogue Management

Blog banner

What is Anxiety? How to manage Anxiety?

Blog banner

Deadlock

Blog banner

Cryptanalysis tool

Blog banner

BITCOIN WALLET

Blog banner

Service transistion under difficult conditions

Blog banner

Technological Advancement

Blog banner

Top 5 Post-Wedding Skin Care Tips

Blog banner

Time Series Analysis

Blog banner

URL vs Domain

Blog banner

What is Spyware?

Blog banner