MCS-378 Lab 3: File System

Due: November 29, 2005

You will be using the same lab facilities as in the previous projects. I will assign you to a new group and will restore all the machines back to their clean state. I will again put a note on each machine identifying the group it should be used by.

Use the debugfs program to expore your machine's ext3 file system (stored on the /dev/hda1 partition), as suggested in Exploration Project 8.8 (page 321).

Your lab report should contain two parts. One part should describe your measurements of how good a job ext3 does of allocating files in few extents, and with the extents densely packed together. The other part should list several other interesting things (of your own choice) that you were able to learn about the ext3 file system by using debugfs.

For the first part of your lab report, be sure to look at a number of files that differen in several regards: files that are part of the initial Linux installation versus files you create; files created all at once versus files that incrementally grow through append operations; files created by the only process running versus files created as two concurrent processes each write to their respective output files.

When considering extents and allocation density, it is reasonable to include indirect blocks as part of the extents and total number of blocks.

If you have access to an OS X machine, you are welcome to do this lab on that machine using hfsdebug instead of debugfs. In that case, the remark about indirect blocks does not apply.