CS550 Homework Assignment 1

CS550 Advanced Operating Systems

Instructor: Xian-He Sun

Department of Computer Science

Homework 1 (Due Date: 2/12/09, Thursday)

  1. [Exercise 1.2 (Text: Tanenbaum and Steen, Prentice Hall V2)]
    What is the role of middleware in a distributed system?

  2. [Exercise 1.7 (Text: Tanenbaum and Steen, Prentice Hall V2)]
    What is an open distributed system and what benefits does openness provide?

  3. [Exercise 1.9 (Text: Tanenbaum and Steen, Prentice Hall V2)]
    Scalability can be achieved by applying different techniques. What are these techniques?

  4. [Exercise 1.10 (Text: Tanenbaum and Steen, Prentice Hall V2)]
    Explain what is meant by a virtual organization and give a hint on how such organizations could be implemented.

  5. Two producer processes (P1, P2) and two consumer processes (C1, C2) share a common stack. The stack operations allowed for the processes are PUSH and POP, which require mutual exclusion to access the stack. Consumer Ci can only remove the top item from the stack if the item was produced by producer Pi. Write a semaphore solution to the problem.

  6. Write a monitor solution to implement the writer preference reader/writer problem.

  7. List some system design and implementation issues that are unique or more significant in distributed operating systems than in centralized operating systems.

  8. [Exercise 2.4 (Text: Coulouris, Dollimore, and Kindberg, Addison Wesley)]
    A search engine is a web server that responds to client requests to search in its stored indexed and (concurrently) runs several web crawler tasks to build and update the indexes. What are the requirements for synchronization between these concurrent activities?

  9. [Exercise 2.8 (Text: Coulouris, Dollimore, and Kindberg, Addison Wesley)]
    What factors affect the responsiveness of an application that accesses shared data managed by a server? Describe remedies that are available and discuss their usfulness.

  10. [Exercise 2.12 (Text: Coulouris, Dollimore, and Kindberg, Addison Wesley)]
    For each of the factors that contribute to the time taken to transmit a message between two processes over a communication channel, state what measures would be needed to set a bound on its contribution to the total time. Why are these measures not provided in current general-purpose distributed systems?

    Contact Information

    • Email: sun@iit.edu
    • Telephone: (312) 567-5260
    • FAX: (312) 567-5067
    • USMail: Xian-He Sun Department of Computer Science Illinois Institute of Technology 10 West 31st Street Chicago, IL 60616-3793