Name: Login ID: Code:

Systems Depth Exam
Sept 2, 1998

You must answer all questions. Do not write any answers on this paper. Only mark your name and code on this paper. Write all your answers on the blank paper provided to you. Only use one side of each sheet of paper. Write your code at the top of each sheet of paper. Do not write your name on your answer sheets.

Operating Systems

1.
Communication-kernel operating systems promote an organization where as little as possible is in the kernel. Discuss what parts of memory management can be taken out of the kernel, and give examples where appropriate of studies that have tried that approach to memory management.
2.
Design the protocol by which a client kernel will speak to a file-server kernel. You may assume the client is running Unix, but you may not assume that for the file server. Describe your protocol in terms of query types and response types, with parameters. Your protocol should allow the client to cache files if it wishes and should support multiple clients (and cache consistency). You do not need to show how the various calls are implemented, but you should give a clear idea of what they mean.

Computer Networks

1.
In general, user services provided by a store-and-forward network can be characterized as being either ``connection-oriented'' or ``connection-less'':
(a)
Describe these two classes of services and point out the advantages and disadvantages of each.
(b)
What are the tradeoffs between providing the two forms of service with respect to the workload imposed on the user and the workload imposed on the network?
2.
Do ATM networks provide flow-control? If so, explain how. If not, explain why a network technology that provides QoS doesn't provide flow-control.

3.
Active networks allow applications/protocols to inject code into routers in the network. Some experts are now arguing that this feature should be used sparingly, injecting only a small amount of code in the ``inner'' network routers and instead injecting most of the code in the routers at the periphery of the network. In other words, the majority of the responsibility for standard network functions such as reliability, flow control, congestion avoidance/control would be implemented at the edge of the network. The routers in the middle would only have enough code to help out with these functions.
(a)
Argue for the experts.
(b)
Argue against the experts.
(c)
Would your recommend implementing reliable multicast this way (with most of the reliabilty code residing at exterior routers)? Explain.


James Griffioen
9/11/1998