Introduction to Computer Systems, Fall 2002
Instructor:
Peter A. Dinda
(Office Hours: Thursdays, 2-4pm)
Teaching Assistant:
Dong Lu
(Office Hours: Mondays, 3-5pm)
Time:
Fall 2002, WF 11-12:20
Location:
CS Classroom, 1890 Maple
Course number:
CS 213
Enrollment Limit:
30
Communication
Private IRC Server (
more info
)
Newsgroups (
cs.cs213.announce
and
cs.cs213.discussion
)
The newsgroups are available on news.cs.northwestern.edu and news.acns.northwestern.edu
Mailing List (You can use CAESAR to email to the class)
Important Handouts
Syllabus (
pdf
)
Physics To Logic (
pdf
)
The TLAB Cluster (
pdf
)
The TLAB is being revamped. We'll update this document with a pointer to the appropriate SSG site once that is finished.
To get an account, go to
SSG's New Account Page
.
Unix Systems Programming In A Nutshell (
pdf
)
Sockets In A Nutshell (
pdf
)
Concurency (
pdf
)
Distributed and Parallel Systems (
pdf
)
Where To Go From Here (
pdf
)
Programming Assignments
Data Lab (
pdf
) out: 9/25 , in: 10/11
Beat The Prof Contest
Bomb Lab (
pdf
) out: 10/11, in: 11/1
Bomb Status
Exploit Lab (
pdf
) out: 11/1, in: 11/13
Exploit Status
Malloc Lab (
pdf
) out: 11/15 in: 12/6
This lab is different from the other three in that you will build something instead of taking something apart. It's a challenging lab so please be sure to get started on it early. You might find this
survey article on dynamic memory management
helpful.
Performance Table
Homework Assignments
HW 1: Integer and Floating Point Number Representations (
pdf
) out: 10/2, in: 10/9 solution (
pdf
)
HW 2: De-compiling Intel Assembly Code (
pdf
) out: 10/11, in: 10/30 solution (
c file
)
HW 3: Memory and Cache (
pdf
) out: 10/30, in 11/8
HW 4: Virtual Memory and I/O (
pdf
) out: 11/20, in: 12/6 solution (
pdf
)
Lecture-related pointers
My Lecture Slides
I am not using slides all that much. Nonetheless, the lectures for which I have used slides are below. You may also find the book's lecture slides to be useful.
Hierarchy Graphs
from 9/27 lecture
The Book's General Lecture Slides
Measure your own memory mountains using
ECT memperf
Java applets showing how gates are built from CMOS transistors
Java simulators of gates, adders, flip-flops
Resources
Fabian Bustamente's
List of C/Unix Resources
from his
Operating Systems Course
The Book's Student Site
Contains many useful FAQs, Primers, etc.
The Book's Code
Make Introduction (
pdf
)
Gdb commands (
pdf
)
Gdb manual (
html
)
The ELF Format (
pdf
)
Comparison with GAS format and Intel's assembler format (
text
)
The Intel Architecture Software Developer's Manual
Volume I: Basic Architecture (
pdf
)
Volume II: Instruction Set Reference (
pdf
)
Volume III: System Programming (
pdf
)
Intel Architecture Optimization: Reference Manual (
pdf
)
Overview of the Linux Kernel (
pdf
)
Cygwin
Unix Emulation Environment for Windows
Wilson, P., et al, Dynamic Storage Allocation: A Survey and Critical Review, International Workshop on Memory Managment, September, 1995. (
pdf
)
Peter Dinda
Last modified: Mon Jul 17 14:10:10 CDT 2006