1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
BaLLatris [955]
3 years ago
11

Use semaphore(s) to solve the following problem. There are three processes: P1, P2, and P3. Each process Pi has a segment of cod

es Ci, i=1, 2, 3. These three processes are executed only once, i.e., no repeat or loop at all, and their executions can start at any time. Your goal is to ensure that the execution of C1, C2, and C3 must satisfy the following conditions:
a. If C1 is executed ahead of C2 and C3, C2 must be executed ahead of C3.
b. Otherwise, C1 must be executed after both C2 and C3 are executed. In this case, the order of C2 and C3's execution doesn't matter. One of the possible execution orders is demonstrated below. Obviously, two other possible sequences in time are C2, C3, C1 and C3, C2, C1.
Please write your algorithm level code for semaphore initialization and usage in each code segment. [Hint: no if statements should ever be used. All you need is some semaphore function calls surrounding C1, C2, and C3 and their initial values.]
Computers and Technology
1 answer:
Lisa [10]3 years ago
4 0

Answer:

See explaination

Explanation:

Here we will use two semaphore variables to satisfy our goal

We will initialize s1=1 and s2=1 globally and they are accessed by all 3 processes and use up and down operations in following way

Code:-

s1,s2=1

P1 P2 P3

P(s1)

P(s2)

C1

V(s2) .

P(s2). .

. C2

V(s1) .

P(s1)

. . C3

V(s2)

Explanation:-

The P(s1) stands for down operation for semaphore s1 and V(s1) stands for Up operation for semaphore s1.

The Down operation on s1=1 will make it s1=0 and our process will execute ,and down on s1=0 will block the process

The Up operation on s1=0 will unblock the process and on s1=1 will be normal execution of process

Now in the above code:

1)If C1 is executed first then it means down on s1,s2 will make it zero and up on s2 will make it 1, so in that case C3 cannot execute because P3 has down operation on s1 before C3 ,so C2 will execute by performing down on s2 and after that Up on s1 will be done by P2 and then C3 can execute

So our first condition gets satisfied

2)If C1 is not executed earlier means:-

a)If C2 is executed by performing down on S2 then s2=0,so definitely C3 will be executed because down(s2) in case of C1 will block the process P1 and after C3 execute Up operation on s2 ,C1 can execute because P1 gets unblocked .

b)If C3 is executed by performing down on s1 then s1=0 ,so definitely C2 will be executed now ,because down on s1 will block the process P1 and after that P2 will perform up on s1 ,so P1 gets unblocked

So C1 will be executed after C2 and C3 ,hence our 2nd condition satisfied.

You might be interested in
To celebrate earth day, the employees of a company plan to reduce their carbon footprint in the workplace. Identify the changes
andrew11 [14]
<span>Go paperless. 
Use natural lighting. 
Grow trees nearby. 
Reduce, reuse, and recycle. 
Carpool. 
</span>
5 0
3 years ago
Read 2 more answers
Can someone plss help me!!
REY [17]

Answer:

HTML elements are delineated by tags, written using angle brackets.

Explanation:

Tags such as <img /> and <input /> directly introduce content into the page.

8 0
3 years ago
What is the name of the file in which this
anyanavicka [17]

Answer:

B

Explanation:

i’m an information technology  student and as I remember we used this  name

3 0
3 years ago
What is the acceptable voltage on a house electrical outlet? And where should the tester knob be pointing to?
k0ka [10]
A outlet has a acceptable voltage of 120 vollts and the knob depends on the tester you are using
3 0
4 years ago
The process of transduction is analogous to a. a rocket ship breaking through the Earth’s atmosphere. b. a sailboat utilizing th
maks197457 [2]

Answer:

The answer to this question is "none of these"

Explanation:

Transduction is also known as a virus, that moves in the genetic information through each type of bacteria to another, and in the computer science it is used in the machine learning, that provides testing, and other options were wrong, that can be explained as follows:

  • Option a, It can't use in a rocket ship for breaking.
  • Option b, It can't utilize glide along the water.  
  • Option c, It provides hack and test systems, and not for communication.
  • Option d, It uses a programming language to test virus, that's why it is wrong.
6 0
3 years ago
Other questions:
  • What might be one reason why a stock becomes more valuable over time
    5·1 answer
  • Which of the following cannot be performed from the windows task manager?
    15·2 answers
  • Which Google Analytics visualization compares report data to the website average?A. Pivot viewB. Comparison viewC. Performance v
    8·1 answer
  • As part of his proofreading process, and to catch any spelling or grammar mistakes, John uses this feature in Word Online to hav
    7·1 answer
  • Do you think that people have a “right” to remain anonymous online? Why or why not?
    6·1 answer
  • "As part of integrating your solution your client indicates that they have certain technologies enabled on their network that al
    6·1 answer
  • 1. The global economy involves trading between people from different _____
    8·1 answer
  • BIE, but plz help me on this ASAP!!! GIVING A BRAINLIEST... For this activity, imagine that you have been asked to teach a frien
    8·1 answer
  • 1. What makes discrimination different from harassment? (Don't give me definitions.)
    5·1 answer
  • Another one please help quick i got to go soon
    7·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!