Homework #1

Assigned: Friday, January 23rd
Due: Sunday, February 1st at 11:59 PM

Please read this information on how to submit homework online. Hard copy of homework will not be accepted.

All work on this homework must be your own.

  1. What are the two main functions of an operating system?
  2. What is the key difference between a trap and an interrupt?
  3. Which of the following operations should be allowed only in kernel mode? Briefly explain your decision for each one.
    1. Cause a trap
    2. Disable all interrupts
    3. Read the memory map for the current process
    4. Read the time-of-day clock
    5. Read a block from disk
    6. Write a block to disk
  4. On early computers, each word of data transferred to or from a device was directly handled by the CPU (i.e., no DMA). What implications (if any) does this have for multiprogramming?
  5. While there are many different processor architectures, most desktop computers and servers use the Intel x86 architecture. From the point of view of operating systems, what are the advantages to this approach? Are there any disadvantages?
  6. List some differences between personal computer operating systems and server operating systems. Is this difference disappearing? Why might that be?
  7. For each of the following system calls, give a condition that causes it to fail:
    1. open()
    2. execvp()
    3. pipe()
    4. fork() [create a new process that's a copy of the current process]
    5. kill() [send a signal to a process]

Last updated 23 Jan 2004 by Bo Adler