in Operating System recategorized by
3,612 views
21 votes
21 votes

Consider the following program segment for concurrent processing using semaphore operators $P$ and $V$ for synchronization. Draw the precedence graph for the statements $S_1$ to $S_9$. 

var
a,b,c,d,e,f,g,h,i,j,k : semaphore;
begin
cobegin
    begin S1; V(a); V(b) end;
    begin P(a); S2; V(c); V(d) end;
    begin P(c); S4; V(e) end;
    begin P(d); S5; V(f) end;
    begin P(e); P(f); S7; V(k) end
    begin P(b); S3; V(g); V(h) end;
    begin P(g); S6; V(i) end;
    begin P(h); P(i); S8; V(j) end;
    begin P(j); P(k); S9 end;
coend
end;
in Operating System recategorized by
3.6k views

1 comment

It is not given that all Semaphores are Binary Semaphores with initial value = 0. How can we draw such graph, if it is not mentioned? 

0
0

1 Answer

48 votes
48 votes
Best answer

Precedence graph will be formed as$:$

edited by

4 Comments

Please share some resource on how to draw these
1
1

why there is direct edge from S3->S8 ?

0
0

@Pranavpurkar 

Before S8 P(h), P(i) is present.

And V(h) is provided by S3.

And V(i) is provided by S6.

So S3 and S6 both has direct edge to S8.

0
0

Related questions