Homework 1

Due date change: Wednesday 19th Feb. 2003, 23:30

What to Hand In

Everyone must hand in their own work. Place in your Hand-In directory (~/cs377/hw1/) an ASCII file (i.e., raw text) called "hw1.txt" that contains your name, user id, and answers to the questions listed below. If you use a non-ASCII editor (e.g., MSword), please make sure that you save your final file in ASCII format (we will not be able to grade your assignment if it is not in ASCII format). In MSword, there is a 'save text' option in the save dialog box. You can check the format on the linux side by using the shell commands 'cat', 'more', or 'less'. Answers need not be more than a few sentences (please keep you answers to the point).

The Questions

1. Multiprogramming
a) What is multiprogramming and what are its advantages?
b) Is a time-sharing system also a multi-programming system? Explain you answer.

2. For what types of operations is DMA useful? Explain you answer.

3. Traps and Interrupts
a) What are the differences between a trap and an interrupt?
b) What are the similarities?
c) Is a system call a trap or an interrupt, or is it neither? Explain your answer.

4. Why do we say that a process is an abstraction? List three services that an OS provides which support this abstraction.

5. Give the advantages and disadvantages (at least two each) of  the layered approach to system design?

6. Processes
a) At any one time, how many processes may be in the Ready, Running, and Waiting states? State any assumptions that you must make.
b) List two conditions/scenarios under which a process transitions from the Running to the Ready state.

7. How much time did you spend on this assignment?


Last modified: Fri Sep 13 09:46:29 2002