Test 1

Operating Systems and Networking

CS330

Fall 2007

Time: 1 hour and 45 minutes

Answer any five from the following

1.  What is the difference between a multiprogramming and a time-sharing system? In what significant ways does the issue of security tend to plague such systems? Could this be reduced or avoided in a dedicated machine?

2.  In the class, we did explore the peer-to-peer systems vis-à-vis the client-server systems. Explain the way they do differ from each other. Briefly evaluate each system from (a) performance, and, (b) the security points of view.

3.  Give examples of I/O bound and CPU bound applications. If one wants to optimize system performance which type of applications should preferably be chosen to execute first before the others – CPU bound, or I/O bound applications? State your reasons. Will this choice be predicated by the mix ratio of CPU bound to I/O bound jobs? Explain your answer.

4.  Direct memory access is used for high-speed I/O devices to reduce CPU’s execution load.

a.  How does the CPU coordinate its activity with the device to execute a DMA session efficiently?

b.  Given that a DMA session is in progress, how does a CPU takes over the control of the memory bus?

5.  What is the purpose of a system call? How do the system calls relate to the underlying operating system and to the concept of dual-mode (kernel-mode and user-mode) operations?

6.  What are the two modes of Inter-process communication (IPC)? What are the strengths and weaknesses of these approaches?

7.  The following image shows a Petri-net design of two processes engaged in communication. Explain how they are communicating. We ignore the necessity of sending any acknowledgement from the receiver to the sender.

8.  One of the cited appeals of a microkernel based operating systems is flexibility. Explain how architectural ‘flexibility’ does allow one to implement a more adaptive platform for user applications.

9.  Describe the differences among the short-term, medium term and long-term scheduling.