Homework 1
Introduction to (or Review of) C and Unix
and more
due Thursday, September 12, 2002, 12:01 AM

There are two items to turn in for this assignment. Your answer to item 3 should be submitted as late.txt and your answers to questions 4 and up should be submitted as a plain text file hw01.txt.

  1. Send me mail at terescoj@cs.williams.edu with a brief (a couple sentences) indication of your level of experience with the Unix operating system and its variants, plus a list of other operating systems you have used. Also include list programming languages you have used and your proficiency in each, and anything else you'd like me to know about your background coming in. (0 points)
  2. Log into and familiarize yourself with your CSLab Unix account. Forward your CSLab electronic mail to an address you read regularly, as I will often use your @cs.williams.edu address. Try FreeBSD systems in the lab (epirus, hinterwald, toto, pester, zebu, faeroes, dulong, bearnaise, pineywoods, basuto, baggerbont, watusi) and the Solaris cluster (bullpen). Create a directory in your account for work from this class. Change the permissions on the directory so only you have read or write access to it. (0 points)
  3. Copy the C program here that computes the late penalties for this course to your CSLab Unix account. Compile and run it, redirecting your output to a file late.txt. Submit this file using the turnin utility. (1 point)
  4. Copy this file to your CSLab Unix account, either from this link, or from /home/faculty/terescoj/shared/cs432/hw01/make-example.tar. It is a "tar file" of a small C program that demonstrates the use of multiple source files and Makefiles. Extract the files (tar xvf make-example.tar) and compile the program with make. Breifly describe how make uses the rules in the Makefile to produce the executable main. (1 point)
  5. What is multiprogramming and why is it useful? (1 point)
  6. Tanenbaum Problem 4, page 67. (1 point)
  7. Tanenbaum Problem 9, page 68. (1 point)