Home CS439

CS439: Principles of Computer Systems

Discussion Section Problem Set 10

Due in Section on Friday, April 18, 2025

The problem set must be completed before section and brought to section. To ensure that your problem set is turned in correctly and that you receive credit for discussion section, you must follow these guidelines exactly.

  1. In class, we covered the idea of remote procedure calls. Name four difficulties that may be encountered when one attempts to implement a remote procedure call.

    There are additional complications when the procedure executes a system call. What are the complications and how might you fix them?
    Adapted from Tanenbaum page 607.

  2. Sun's network file system (NFS) protocol provides reliability via:
    • at-most-once semantics
    • at-least-once semantics
    • two-phase commit
    • transactions

  3. In two-phase commit, suppose the master fails after writing ``GLOBAL_COMMIT'' to disk and sending ``GLOBAL_COMMIT'' to all participating nodes but before any of the nodes receive this message. Suppose that the ``GLOBAL_COMMIT'' message reaches i of the n participants and that the participants implement a protocol in which they communicate with one another when they suspect the primary has died. What is the minimum number of participants that must receive the ``GLOBAL_COMMIT'' message to allow the participants to complete the transaction without waiting for the master to recover?

  4. Considering all the pieces of the operating system we have discussed, describe the steps the OS takes when performing a context switch. Assume that processes are waiting in the ready queue.

  5. In class, we have discussed many methods to get reliability from unreliable parts. Name and describe two.

  6. What is the web browser you use, and what is its default search engine?