CMPSC 473 - Project #4 - RAM Disk File System

Due Date: May 1, 2008. 100 points

Single person project. Do your own work!

In this project, you will implement file system functions on a RAM disk file system that is provided. The ideas behind this project were discussed in the April 8th lecture and are described in the OSC book in Chapter 11. While this code is not based directly on any OS implementation, it does share the common concepts from a UNIX file system.

In particular, you are going to be required to implement four functions in the file system implementation:

You need data to test fileRead, so you may build a simplified version of fileWrite first (e.g., writes to only one block) before going to the full versions necessary.

The challenge in this project is to understand the concepts in the file system. The file system structures are defined in the file cse473-filesys.h. Please study these structures -- most map to the structures discussed in Chapter 11. The full tarball for the project is available here.

The other challenge is to understand the layout of these structures in blocks on the RAM disk. Below is a diagram outlining the blocks in the on-disk file system.

In the assignment, an output file shows the sequence of commands and responses for your file system. You will run 5 commands to generate this output: ./cse473-p4 your_fs cmdi where cmdi is the ith command for (e.g., cmd1 for the first). This program is deterministic, so your output should match mine (bug disclaimer here).


Trent Jaeger