Getting Started with 6.824 Labs (
PDF)
Lab 1 - Simple web proxy (
PDF)
Lab 2 - Concurrent web proxy (
PDF)
Lab 3 - A TCP proxy (
PDF)
Lab 4 - SFS (
PDF)
Lab 5 - Distributed ticker tape (
PDF)
Aids for Working on Lab
There are a number of resources available to help you with the lab portion of this course:
-
FreeBSD architecture: You can find a good summary of how FreeBSD works in an appendix to the Operating Systems Concepts book by Silberschatz, Galvin, and Gagne. (FreeBSD is the UNIX variant running on the 6.824 machines.)
-
UNIX network programming: W. Richard Stevens' books UNIX Network Programming, Volumes 1 and 2, are classic references for network programming. If you are struggling with the sockets interface it could be a helpful purchase. See the suggested books list for other helpful references.
-
core files: When/if your program crashes it will leave a core file behind (named something.core). Examining core files with gdb is a valuable way to learn what went wrong. To get started with gdb type: "gdb program program.core" and then type the gdb command "bt". GDB will return a trace showing exactly where the program crashed. GDB offers many more features. Check out the GDB manual for full documentation.