Skip to content

Repository files navigation

csapp-labs

Solutions and implementation notes for CMU 15-213 and Computer Systems: A Programmer’s Perspective, third edition.

Read the notes

Contents

Lab Focus Result
Data Lab Bitwise integer and floating-point operations 36/36
Bomb Lab GDB and x86-64 reverse engineering 6 + secret
Attack Lab Buffer overflows, code injection, ROP 5/5
Cache Lab LRU simulation and blocked transpose 53/61
Shell Lab Processes, signals, job control 16/16 traces
Malloc Lab Segregated free lists and in-place reallocation 97/100
Proxy Lab Concurrent HTTP proxy with caching 70/70
SFS Lab File operations and synchronization 12/12 correctness

Results are from the lab graders; each writeup includes implementation details and verification commands. SFS is a separate, AI-assisted extension. Its basic exercise ends at correctness with one mutex; finer-grained locking and filesystem extensions are optional.

Use

To preview the notes locally:

python -m venv .venv
. .venv/bin/activate
pip install mkdocs-material
mkdocs serve

The site is built from docs/ with MkDocs Material and published through GitHub Actions.

Thanks to virgiling for the lab notes that helped with these solutions.

About

CS:APP lab solutions and notes.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages