Final Exam

Operating Systems and Networking

CS330

Fall 2009

Answer three questions from Group A and two questions from Group B

Exam date: December 7, 2009 (2:00 -4:00 PM at C108)

Policy: Open books, open notes, but no copying from other students even if the temptation to do so appears to be exceptionally high.

Group A (Answer at most three questions from this group)

1.  Suggest a simple procedure that would automatically initiate a memory defragmenter if the memory degenerates into a number of small holes. Explain how the procedure may be run avoiding complete systems shutdowns.

2.  Assume a real-time system comprising cardiac event monitors each of which periodically measures and reports a patient’s cardiac profile and its changes. Also assume that at any specific measurement and reporting time window, the probability of a significant cardiac change like cardiac arrest for a specific patient is low and relatively stable (with a low variance) on a window size of . The number of monitors for our system is very close to the maximum limit the system can oversee concurrently. However, assume, a very rare situation crops up all of a sudden: a specific monitor pertaining to patient sends out a high priority real-time interrupt to the server seeking an immediate attention. Currently, the server is attending another monitor-process and, according to the schedule, the monitor process is not scheduled to run until some time later. How would you design your system to handle such a situation?

3.  Develop a reasonable strategy for a minimum-cost recovery algorithm that would not use process termination to recover from a deadlock situation.

4.  Consider the reference string abcdebcdcbddbddd. Assuming the working set replacement policy, determine the minimum window size such that the string generates at most five page faults. Show which pages are in memory at each reference. Mark page faults with an asterisk.

5.  One could approach Page replacement policy in the following manner. When executing a new process, don't reserve any page frames for it. When a page is first accessed, allocate a page frame for it and load the data into that page frame. With this approach, it is possible that, when a page fault occurs, no page frames are free. If that happens, you should kill the process (e.g., pretend it called Exit with a return value of, say, -1). Comment on such a scheme. How does it sound as an alternative to FIFO page-replacement policy?

Group B (Answer at most two questions from this group)

6.  Most of our service oriented systems are founded on the client-server model with the server providing service to a set of clients. Which of the two processes must begin first, the client or the server? What tool or resource could a server use to make sure that it doesn’t lose its clients once they arrive at the server to receive service? How scalable is the client-server system? Suggest a suitable alternative to a client-server model. What would be its strengths? Its weaknesses?

7.  A college community comprising three distinct groups (admin, faculty and students) needs to be accommodated on a LAN subject to the following organizational requirements:

a.  Each of its three groups should be on its own collision domain,

b.  However, the admin group should see one extended broadcast domain encompassing all three collision domains, and the faculty should find its broadcast domain limited to two groups: faculty, and students,

c.  Students are not allowed to broadcast outside their own group

Given these, organize the community network structure justifying any other assumption you need to make.

8.  You want to send a message from your station to another station in a WAN. In an abstract sense, you see yourself separated from the receiving station by a single virtual link of bandwidth B bits/sec. when the traffic within the network is light. Show, how you would approach to estimate the value of B.

9.  What are the functions of a router? What are the functions of a bridge? Minimally, how many IP addresses would you find on a bridge, and on a router? Suppose a router needs to be rebooted. What are the things it ought to do to become functional once again?