CMPSCI 377: Operating Systems
Homework 1
Due: September 27, in class


  1. How does multiprogramming differ from uniprogramming? List two advantages of multiprogramming over uniprogramming.

  2. Problem 1.8 from the AOS text.

  3. Problem 2.3 from AOS.

  4. Problem 2.6 from AOS.

  5. What is a context switch? What are the actions taken by a kernel for a context switch?

  6. Using the fork()}, waitpid(), exit() and exec() system calls, write a program in which a parent process creates two child processes. The first child executes the ls program to list all files in a directory. The second child prints "I am the second child" and sleeps for 30 seconds. The parent process waits for the second child to finish and prints "Second child finished" before exiting. You may write your program in pseudo-code.


Prashant Shenoy
Last modified: Thu Sep 20 10:08:53 EDT 2001