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