Homework 2 (15-412, Spring 2003)

This homework assignment is due Friday, May 2nd at 23:59:59. As we intend to make solutions available on the web site immediately thereafter, turn your solutions in on time.

Homework must be submitted in either PostScript or PDF format (not: Microsoft Word, Word Perfect, Apple Works, LaTeX, XyWriter, WordStar, etc.). Submit your answers by placing them in the appropriate hand-in directory, i.e., /afs/cs.cmu.edu/academic/class/15412-s03-users/$USER/hw2 (by now you know the drill).

As usual, you may discuss this assignment with others, but you must then go off by yourself to write up the solution.


Question 1 - Public Key Practicum

This question is not hard, but it does take some time to do it right. Please don't leave this question to the last minute.

Follow the directions in pgp.html to generate a PGP key ring, containing public and private keys for digital signature and encryption purposes. Do not turn the key ring to your hw2 directory. Instead, follow the directions on how to export the public key information from the key ring into a file, $USER.asc. Then create a secret message for the 412 staff, in $USER.secret.asc


Question 2 - RAID recovery

A disaster has occured! One of the disks in your high-performance RAID array has suffered a devastating head crash. Fortunately, your array uses RAID level 4, so it is possible to recreate the missing data.

For some odd reason however, the RAID utility that shipped with your disk array is misbehaving and refuses to return the array to a consistent state. Using your wealth of knowledge from 15-412, you endeavor to discover the missing data by hand.

Doing this on a modern disk array would be unthinkable - good thing your disk array is composed of Femtodrives. The Femtodrive has only five sectors, and each sector holds a mind-boggling eight bits (1 byte). Here is a graphical representation of your disk array.

Disk 0 Disk 1 Disk 2 Parity
P?E\
A?aD
h?t}
t?ey
r?wj

Data bytes are striped across rows, so the word in the third row starts with 'h' and ends with 't' (maybe it's "hut", maybe it's "hot", ...). Your job is to fill in the missing letters (in the "Disk 1" column) using your knowledge of the operation of RAID flavor four. You may find the "ascii" manual page useful:
% man ascii


Question 3 - File System Layout

In a very simple inode-based file system, all metadata for the file system is contained at the beginning of the disk. Having learned about disks in 15-412, why might this be a bad design decision? What might you do to fix this problem?


Helpful Hint

By the way, if you think you are having AFS permission problems, try running the program located at
% /afs/andrew.cmu.edu/scs/cs/15-412/pub/access_hw2