Ref. No.


Master of Computer Science & Engineering Examination, 2004
(1st Semester)

Time: Three hours Full Marks: 100

Answer Question no. 1 and any four from the rest, Make your answer brief and to-the-point. Use illustrative diagrams or program steps wherever necessary. a) A Server provides various types of services in a network – some of these are simple and require small amount of computation whereas others are complex and require very large amount of computation. Request for a service is executed to its completion and the reply is sent back to the Client. Briefly describe a scheme where a client asking for a simple service does not have to wait till a complex service is completed. What support at the O/S level is required for this solution? What happens if the same service is requested by a large number of clients simultaneously? 3+2+1 b) What are the characteristics of a Fully Distributed algorithm? Why arc such algorithms rare? 3+1 c) Give the full algorithm for whether an attempt to lock a file should succeed or fail. Consider both read and write locks and the possibility that the file was initially unlocked, read-locked or write-lockcd. 4 d) In a Distributed Database system the Transaction Managers (TM) and Object Managers (OM) govern the operation of the system together. Enumerate the functions that the TMs and the OMs perform and hence or otherwise explain how they ensure that the database always remains consistent. 6 e) What is an idempotent operation? Which of the following operations are idempotent and why? (i) read_next_record (filename) (ii) read_record (filename, rccord_number) (iii) append_record (filename, record) (iv) write_record (filename, alter_rccord_n, record) (v) seek (filename, position) (vi)add (integer_l, integer_2) (vii) increment (variable_name) f) 5 What should happen if a process has already acquired a read lock and now wants to change it into a write lock? What about changing a write lock into a read lock? 3

2. (a) State the necessary and desirable properties of Distributed Mutual Exclusion algorithm. 3 (b) Describe Ricart and Agrawala’s algorithm for Distributed Mutual Exclusion. How many of the above properties does the R and A algorithm satisfy? 9+3 (c) The above algorithm has the problem that if a process has crashed and does not reply to a request from another process to enter a critical region, the lack of response will be interpreted as denial of permission. Suggest some remedy for this problem. 3 3. If S1, S2, …, Sn are node schedules for transactions T1, T2, . . ., Tm in a Distributed Database System, then prove that there is a global schedule S such that a. The Ti and Si are subsequences of S, and b. If each Si is legal, S is legal. 18 4. Explain the operation of Hoare’s Monitor for a shared resource R with the help of a suitable program and an associated state diagram. 5 Assume two processes P1 and P2 sharing the resource R and explain separately each of the following two cases: (a) P1 and P2 access R at mutually disjoint times, and (b) P1 tries to access R while P2 is using it. 2+2 For case (b) clearly explain the state transitions that are caused by the monitor call due to P1 and those due to P2. Also explain what happens when P2 ultimately releases R. How does P1 enter the monitor before P2 releases R? 9 5. What are the characteristics of a one-way function? How can you use this function to generate private, public port values and private, public signatures? 4 In an office with a network backbone, users are allowed to plug in their PCs freely to the network. The System Administrator has no control over possible malicious users or the software (O/S included) they might use on their machines. Enumerate the difficulties that one would face in building a secure O/S for this system. 5 Describe a method using which a secure and protected O/S can be built for such a system. 9 6. Define “happened before” relationship and explain its utility in ordering events in distributed systems. Show that the relationship is transitive in nature. Specify the cases where happened before alone cannot order the events successfully. What expedient is used to induce total ordering in such circumstances? 6+2+4+3 What is the utility of this total ordering and under what context is such an ordering justified? 3

7. For detecting deadlocks in distributed system each transaction is assigned a network id (Qs,S). How are Qs and S chosen and what is the significance of this id? 2+2 State the rules for creating input and output ports. Indicate their notations clearly. What are the contents of a deadlock detection message? 3+2 Describe the Distributed Deadlock Detection algorithm by considering (i) a site where the deadlock detection message is initiated and (ii) a site where such a message is received. Here, consider two sub-cases: (a) the receiving site is not the originating site of the message, and (b) the receiving site is the originating site of the message. 9 X O X

Sign up to vote on this title
UsefulNot useful