COP 5611, Operating Systems, Spring, 2003
Department of Computer Science, Florida State University
¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾
Points: 100
Due: Thursday, February 6, 2003
Problem 1 (20 points) According to the definition given in this class, the World Wide Web is not a true distributed system.
a) List important factors that disqualify the Web to be a distributed system. For each factor, justify your answer.
b) Discuss what services and changes we need to make the present Web a true distributed system. In this version, describe the steps to publish a document and fetch a document.
Problem 2 (10 points) What is a three-tiered client-server architecture? How to make the system scalable?
Problem 3 (15 points) Consider a chain of
processes P1, P2, …, Pn implementing a
multi-tiered client-server architecture. Process Pi is client of
process Pi+1 and Pi will return a reply to Pi-1
only after receiving a reply from Pi+1. What are the main problems
with this organization when taking a look at the request-reply performance at
process P1?
Problem 4 (25 points) Give the flow chart of an iterative server, a multithreaded server, and a multi-process server. You can use the echo server as an example.
Problem 5 (30 points) Based on the HTTP protocol, write a program using socket programming to save a remote document (specified by URL) as a local file. The program should take two command-line parameters, where the first one is the URL of the document, and the second one the name of the local file. To simply the matter, we assume the URL is given using IP address directly.