Special software is required to use some of the files in this section: .c, .pl, .x, and .zip. .h are header files.
Laboratory Assignments
Labs files.LABS | TOPICS | SUPPORTING FILES |
---|
0 | Getting started (PDF) | |
1 | Lock server (PDF) | lab-1.zip (ZIP) (The ZIP file contains: 5 .c files, 2 .h files, 1 Makefile, and 1 .x file.) |
2 | Basic file server (PDF) | lab-2.zip (ZIP) (The ZIP file contains: 5 .c files, 3 .h files, 2 .x files, 1 .pl file, and 1 Makefile.) |
3 | File server: Reading, writing, and sharing files (PDF) | lab-3.zip (ZIP) (The ZIP file contains: test-lab-3.pl.) |
4 | MKDIR, REMOVE, and locking (PDF) | lab-4.zip (ZIP) (The ZIP file contains: 6 .c files, 3 .h files, 2 .x files, 1 Makefile, and 1 .pl file.) |
5 | Cache consistency (PDF) | |
Class Machines
We have multiple machines so that you can test your networking code on multiple hosts. As the term progresses, we may add additional machines as needed.
Aids for Working on Labs
There are a number of resources available to help you with the lab portion of this course:
We have compiled some basic information about logging into our systems and tools for developing C++ programs. This is available in the Getting Started file.
The SFS source code: All the labs use the RPC, asynchronous I/O, and utility libraries that come with the SFS source code. You may need to browse the SFS source to figure out how it works. It's available on the class machines or at the SFS project page. You may also find the SFS and file system tookit papers useful:
Mazières, David, Michael Kaminsky, M. Frans Kaashoek, and Emmett Witchel. "Separating Key Management From File System Security." Operating Systems Review 34, no. 5 (December 1999): 124-139.
Mazières, David. "A Toolkit for User-level File Systems." Proceedings of the USENIX Technical Conference (June 2001): 261-274.