6.033 materials for Mike Walfish's recitations, Spring 2006.
Handouts:
- Rec. 04, Feb 16: Handout 1
(Source files:
filewrite.c,
our_yes.c, and
our_head.c)
- Rec. 05, Feb 23: Handout 2 (Slightly updated
version of Handout 1; the C comments are more informative)
- Rec. 06, Feb 28: Handout 3 (Discussion questions
on the X window system)
- Rec. 07, Mar 02: Handout 4 (Concurrency, Eraser, and RaceTrack)
- Rec. 08, Mar 07: Handout 5 (MapReduce)
- Rec. 09, Mar 09: Handout 6 (Ethernet, part I)
- Rec. 10, Mar 14: Handout 7 (Ethernet, part II)
- Rec. 11, Mar 16: Handout 8 (Internet,
forwarding, routing)
- Rec. 12, Mar 21: Handout 9 (NFS,
end-to-end arguments)
- NOTE: This link is an updated version of the handout given
in recitation.
- Rec. 13, Mar 23: Handout 10 (end-to-end
arguments, NATs)
- Rec. 14, Apr 04: Handout 11 (indexing and
searching, applied to the Web)
- Rec. 15, Apr 06: Handout 12
(fault-tolerance, redundancy, channel coding)
- Rec. 16, Apr 11: Handout 13 (review
fault-tolerance concepts, Log-Structured File System)
- Rec. 17, Apr 13: Handout 14 (databases,
logging and recovery)
- Rec. 18, Apr 20: Handout 15 (ARIES)
- Rec. 19, Apr 25: Handout 16 (RAID)
- Rec. 20, Apr 27: Handout 17 (Unison and
reconciliation)
- Rec. 21, May 02: Handout 18 (Buffer
overflow attacks)
Code we used, courtesy of Russ Cox:
(please note that the exploit
will not work on more recent versions of Linux that mark the stack
memory as non-executable)
- buggy-server.c: implements
an exploitable server
- honest-client.c: an "honest" client
that uses the server in good faith
- exploit.c: an attacking client that
exploits the server's vulnerability to run a shell over the
network
- tcpserve.c: a program to run any other
program (in our example, tcpserve ran buggy-server)
with its stdin and stdout (i.e., its 0 and 1 file descriptors)
connected to a TCP client.
- Rec. 22, May 04: Handout 19 (Worms,
Witty paper)
- Rec. 23, May 09: Dan Ports's handout on
"Why CryptoSystems Fail"
- Rec. 24, May 11: Handout 20 ("Trusting
Trust" paper)
- Rec. 26, May 18: Handout 21 ("Hints for
computer system design" and wrap-up)
Review material:
Tips:
Links:
- Info on MIT's network
for those who are curious
(see the bottom of the page). This page is relevant to recitation
11. Thanks to Jose Soltren for this link.
Extra Credit:
We try to encourage creativity and individual expression, so here is a
totally optional, just-for-fun extra credit opportunity:
(Here are some current submissions.)
-
Write either one triolet or three haikus related to 6.033
(you may need to look up the exact definitions of these forms).
You can focus on general course material or particular papers.
- The requirements are that you should:
-
obey the poetry form (for triolets, this means not just following
the
rhyme scheme but also using the repeated lines in different
ways); and
- express something