Introduction to Computer Systems, Fall 2001
Instructor:
Peter A. Dinda
(Office Hours: Mondays 2-4pm)
Teaching Assistant:
Dong Lu
(Office Hours: Fridays 3-5pm)
Undergrad Graders:
TBD
Time:
Fall 2001, WF 10:30-12
Location:
CS Classroom, 1890 Maple
Course number:
CS 395
Enrollment Limit:
40
Communication
Private IRC Server (
more info
)
Newsgroups (
cs.c95-ics.announce
and
cs.c95-ics.discussion
)
The newsgroups are available on news.cs.northwestern.edu and news.acns.northwestern.edu
Mailing List (
c95-ics@cs.northwestern.edu
)
Important Handouts
Syllabus (
pdf
)
Book
Paper copies will be handed out on the first day of class
Physics To Logic (
pdf
)
The TLAB Cluster (
pdf
)
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/26, in: 10/12
Bomb Lab (
pdf
), out: 10/12, in: 10/31
Exploit Lab (
pdf
), out: 11/7, in: 11/16
Malloc Lab (
pdf
), out: 11/16, in: 12/7
You might find this
survey article on dynamic memory management
helpful.
Performance Table
Homework Assignments
HW 1: Integer and Floating Point Number Representations (
pdf
) Solution (
pdf
)
HW 2: De-compiling Intel Assembly Code (
pdf
) Solution (
text file
)
HW 3: Memory and Cache (
pdf
)
Note: do problem 3 for direct-mapped, 4-way set associative, and fully associative
HW 4: Virtual Memory and I/O (
pdf
)
Lecture-related pointers
Lecture notes (all) (
pdf
)
NOTE: These notes are really for my own use and may not be all that coherent to anyone else
Measure your own memory mountains using
ECT memperf
Lecture Slides
I am not using slides all that much. Nonetheless, the lectures for which I have used slides are below.
October 12
pdf
ppt
October 17
pdf
ppt
October 19
pdf
ppt
October 24
pdf
ppt
November 16
pdf
ppt
November 21
pdf
ppt
CMU Version of the Course (
Fall 2000
) including
lecture slides
Note: my lectures are somewhat different in order and content. Nonetheless, you may find these slides useful as another viewpoint
Java applets showing how gates are built from CMOS transistors
Java simulators of gates, adders, flip-flops
Resources
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:09:47 CDT 2006