Course No. : CS ZG623 Course Title : ADVANCED OPERATING SYSTEMS Nature of Exam : Open Book Weightage : 60% Duration : 3 Hours Date of Exam : 30/09/2007 (AN) Note: 1. Please follow all the Instructions to Candidates given on the cover page of the answer book. 2. All parts of a question should be answered consecutively. Each answer should start from a fresh page. 3. Mobile phones and computers of any kind should not be brought inside the examination hall. 4. Use of any unfair means will result in severe disciplinary action.
Q.1 For the following time space diagram, using Birman-Schiper-Stephenson and Schiper-Eggli-Sandoz protocols find out if there is any causal order violation amongst the message sends and receives. If you think the protocols described in the text will not work here for the given example, you are free to modify the protocols. Mention also the necessary modifications you wish to have on these protocols if you feel so. Show also the timestamps for both the protocols separately. [12]
Q.2 Give an example showing the operation of Lamports distributed mutual exclusion algorithm with number of messages required for CS invocation as less than 3 (N-1), where N is number of sites in the distributed system. Here, you are allowed to suppress any message (REPLY or RELEASE) but you should ensure that the assertion remains true for allowing a site, entry to Critical Section. [6]
Q.3 Assume that you have a distributed system with low to moderate load. Give an example showing the working of Singhals heuristic algorithm to solve distributed mutual exclusion problem using a token based approach. How do you rate this algorithm over Suzuki-Kasamis broadcast based in terms of performance in low to moderate load? Explain. [6]
Q.4 In the following wait for graph, detect a distributed deadlock if any, viewing the model as an OR model wait for graph. Show all the messages that will flow over the edges to detect the deadlock if any. [6]
P1 P2 P3 Processes Time 1 2 3 4 5 6 No. of Pages = 2 No. of Questions = 9
CS ZG623 (EC-2 REGULAR) FIRST SEMESTER 2007-2008 PAGE 2
Q.5 In the following Transaction Wait for Graph, use Obermarcks Path pushing algorithm to build local WFGs, and also show the Path (Cycles) that will be transmitted by each site to detect a deadlock if any. [6]
Q.6 Given below are three processes P1, P2, and P3 executing concurrently. The data items (variables x, y, and z) are stored in a distributed shared sequentially consistent memory (data store). Assume that each variable is initialized to 0. All statements are indivisible. Here, an assignment corresponds to a write operation and a print statement corresponds to a simultaneous read.
Viewing the concatenated output of P1, P2, and P3 in that order, will the output 001110 be a legal output if the above concurrent execution runs on a sequential consistent memory? If yes, give the interleaving. If no, explain why not. [3]
Q.7 Does a stateless server need to take checkpoints for the purpose of recovery? If yes, argue. If no, explain why not. [3]
Q.8 Give a simple extension to the NFS lookup operation that would allow iterative name lookup in combination with a server exporting directories that it mounted from another server. [8]
Q.9 The selection policy for receiver-initiated load sharing algorithm is mostly a preemptive one. It normally assumes task pre-emption at the sender site. Devise an approach, which is receiver- initiated but non pre-emptive. Discuss the tradeoffs of your approach with the receiver initiated pre- emptive one. Why the selection policy considered in sender-initiated load sharing algorithm is non- preemptive? Explain. [10]
*********
(Page 2 of 2)
S1 S2 S3 P2 P1 P3 P4 P5 P6 P7 P8 P9 x = 1 y=1 z=1 print(y,z) print(x,z) print(x,y) Process P1 Process P2 Process P3