Skip to content

Introduction

CSAPP: Computer Systems: A Programmer's Perspective

  1. Textbook: Computer Systems: A Programmer's Perspective, 3/E (CS:APP3e))
  2. CMU Fall 2015 schedule, slides, labs: 15-213/15-513/14-513 Introduction to Computer Systems (ICS)
  3. Bilibili: Lecture Videos

Schedule

1 天 1 个 Lecture,一共 26 个 Lectures

Labs

Lab Assignments

  1. Data Lab: Bit-level operations. Manipulating bits.
  2. Bomb Lab: Assembly language, debugger. Defusing a binary bomb.
  3. Attack Lab (64-bit): Stack discipline, buffer overflow attacks. The basics of code injection attacks.
  4. Cache Lab: Minimize the number of misses on a simulated cache. Building a cache simulator and optimizing for locality.
  5. Shell Lab: Writing Unix shell. Concurrency.
  6. Malloc Lab: Writing malloc package. Data Layout and organization. Systems-level programming.
  7. Proxy Lab: Writing Web proxy. Network programming. Concurrency and synchronization.
  8. Architecture Lab: Y86-64 array copying function, interactions between hardware and software.
  9. Performance Lab

Lab1: due L04 floating point

Lab2: due L06 machine control

Lab3: due L10 optimization

Lab4: due L12 cache memories

Lab5: due L18 vm systems

Lab6: due L20 malloc advanced

Lab7: due L26 parallelism

Comments