Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Consider a system with two processes, P 1 and P 2 , that need to access a shared resource. They use the Test - and

Consider a system with two processes, P1 and P2, that need to access a shared resource.
They use the Test-and-Set mechanism for synchronization. The Test-and-Set mechanism is
implemented as follows:
c
boolean test_and_set(boolean *lock){
boolean old =*lock;
*lock = true;
return old;
}
void P1(){
while (true){
while (test_and_set(&lock)){
// Busy-wait
}
// Critical Section
// Exit Section
lock = false;
// Remainder Section
}
}
void P2(){
while (true){
while (test_and_set(&lock)){
// Busy-wait
}
// Critical Section
// Exit Section
lock = false;
// Remainder Section
}
}
1. Explain how the Test-and-Set mechanism works to ensure mutual exclusion.
2. Identify and discuss the potential drawbacks of using the Test-and-Set mechanism for process synchronization. How can these drawbacks impact system performance?

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

SQL Server Query Performance Tuning

Authors: Sajal Dam, Grant Fritchey

4th Edition

1430267429, 9781430267423

More Books

Students also viewed these Databases questions