You are on page 1of 2

Birla Institute of Technology & Science, Pilani

Distance Learning Programmes Division


First Semester 2007-2008

Comprehensive Examination (EC-2 Regular)

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