wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Concurrency and Deadlocks

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

Mendeley (management software)

Blog banner

Scala - a programming tool

Blog banner

Disk Management

Blog banner

Travel Geek ‘The last $50k in Switzerland’

Blog banner

File and File System Structure

Blog banner

Risk factors in service transistion

Blog banner

OLA

Blog banner

Virtual machine and virtualizing

Blog banner

Virtual Memory

Blog banner

Why Data Privacy Is Changing Online Advertising

Blog banner

A BLOG ON MYSQL

Blog banner

A little bit of salt is all the hash needs!

Blog banner

MEMORY MANAGEMENT (techniques)

Blog banner

Explain the concept of ( MIS) Management information systems

Blog banner

"The Benefits of Using GIS in Agriculture"

Blog banner

Race Condition in Operating Theatre

Blog banner

"Audit" In Data Science

Blog banner

Virtual memory

Blog banner

GIS in Disaster Management

Blog banner

Virtual memory

Blog banner

Teenagers of Today

Blog banner

Why Inconel 625 and Monel 400 Remain Unbeatable in Refinery Applications?

Blog banner

Man VS Nature

Blog banner

How User Data Shapes Personalised Campaigns

Blog banner

Traditional UNIX Scheduling

Blog banner

Pink sauce pasta

Blog banner

RAID

Blog banner

Emotional Suppression: The Hidden Costs Of Unfelt Feelings

Blog banner

Instagram Features in 2023 That Will Leave You Stunned!

Blog banner

The Truth Behind Viral DIY Dental Hacks

Blog banner

Kafka - A Framework

Blog banner

Virtual Machine

Blog banner

Healthy Habits Children Learn at Preschool That Last a Lifetime

Blog banner

Sage business cloud accounting

Blog banner

Paid Email

Blog banner

What is metaverse?

Blog banner

Constrained Management in IT

Blog banner

Protein and Energy: Why Your Workday Diet Needs More of It

Blog banner

Why Khari and toast is the ideal Tea Break snack?

Blog banner

Understanding Portion Control: How Much Food Do You Really Need?

Blog banner

Assignment-3

Blog banner

TECHNOLOGY : BOON OR CURSE ?

Blog banner