深度参与 CMU 15-213 课程项目,完成 8 个实验,详细的学习笔记发布在博客上。
完成的实验:
-
Data Lab:实现位级整数和浮点运算,强化位运算和 IEEE754 浮点数理解
-
Bomb Lab:使用 GDB 逆向分析 x86-64 汇编,掌握黑盒调试技巧
-
Attack Lab:构造缓冲区溢出和 ROP 链,掌握栈帧布局和控制流劫持原理
-
Arch Lab:实现简化流水线 CPU 模拟器,探索指令集、流水线冒险和转发机制
-
Cache Lab:编写缓存模拟器并优化矩阵转置,显著提升缓存命中率和性能
-
Shell Lab:实现支持前后台作业控制的 Unix Shell,加深对进程和信号的理解
-
Malloc Lab:设计动态内存分配器(malloc/free/realloc),优化堆管理和内存利用率
-
Proxy Lab:开发并发 HTTP 缓存代理,实现高效请求转发和响应缓存机制