Solutions and implementation notes for CMU 15-213 and Computer Systems: A Programmer’s Perspective, third edition.
| 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.
To preview the notes locally:
python -m venv .venv
. .venv/bin/activate
pip install mkdocs-material
mkdocs serveThe 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.