UNIVERSITY OF HOUSTON Department of Computer Science COSC 6360: OPERATING SYSTEMS MIDTERM A March 18, 1993 CLOSED BOOK You may have with you two sheets of notes. 1. What is the effect of setting the SET-USERID bit of a UNIX file ON? (10 points) 2. UNIX has a rather unusual way to fork another process in the sense it uses two system calls--fork() and exec()--instead of specifying in the fork() call the name of the file to be executed. What is the major advantage of this two step approach? (10 points) 3. Describe the two mechanisms used by the Ninth Edition UNIX System to construct "flexible and general routines to connect local and remote processes." (2x10 points) THIS QUESTION WAS RELATED TO A PAPER THAT IS NOT ANYMORE IN THE READING LIST. IT WILL BE NOT BE ASKED AGAIN. 4. How many instances of the following data structures are normally present in a MULTICS system? The four possi- ble answers are (a) one instance for the whole system, (b) one instance per process, (c) one instance per active segment, and (d) more than one instance per active segment. descriptor segment: (a)(b)(c)(d) known segment table: (a)(b)(c)(d) active segment table: (a)(b)(c)(d) page table: (a)(b)(c)(d) linkage section: (a)(b)(c)(d) (5x4 points) THIS QUESTION WAS RELATED TO A PAPER THAT IS NOT ANYMORE IN THE READING LIST. IT WILL BE NOT BE ASKED AGAIN. 5. How does MACH implement the UNIX fork operation? (10 points) 6. What is an INVERTED page table? (5 points) Why is it harder to implement SHARED PAGES on a system using an inverted page table? (5 points) 7. What is needed to implement the AT MOST ONCE semantics in a remote procedure call mechanism? (5 points) 8. What does Birrell and Nelson's implementation of RPC to allow servers to eliminate duplicate call packets? (5 points) 9. What does LRPC to reduce argument copying? (10 points)