前言
收录自己在2021年~2022年写的《深入理解计算机系统》官方的8大实验+学校的linkLab实验解析+8大实验的文档翻译。
官方主要有8大实验
- Data Lab(数据实验):使用有限的逻辑和算术运算实现函数。
- Bomb Lab(二进制炸弹实验):阅读汇编代码得到6个正确的字符串拆除炸弹。
- Attack Lab(缓冲区溢出实验):利用缓冲区溢出漏洞来攻击程序。
- Architecture Lab(体系结构实验):给处理器添加新的指令等行为加快程序运行。
- Cache Lab(cache实验):用C语言编写一个通用高速缓存模拟器,并优化矩阵转置。
- Shell Lab(shell实验):用C语言实现Unix shell程序。
- Malloc Lab(malloc实验):用C语言实现自己的malloc、free和realloc版本。
- Proxy Lab(代理实验):用C语言实现一个位于客户端和服务器之间的并行Web代理服务器。
学校加了1个实验
- Link Lab(链接实验):修改相应可重定位二进制目标模块使程序输出学号。
我写的实验一Data Lab是学校下发的所以函数实现会不同,仅供参考。
可能随着时间的流逝,官网的实验会进行更新,所以我也标注了实验的官方日期文件。
《深入理解计算机系统》官网实验下载地址:http://csapp.cs.cmu.edu/3e/labs.html
实验一 Data Lab(数据实验)
《深入理解计算机系统》实验一Data Lab
《深入理解计算机系统》实验一Data Lab 下载和官方文档机翻
(温馨提示:这里我写的实验一Data Lab不是官方版的,是学校发的,所以有些函数功能不一样,仅供参考。)
实验二 Bomb Lab(二进制炸弹实验)
《深入理解计算机系统》实验二Bomb Lab
《深入理解计算机系统》实验二Bomb Lab下载和官方文档机翻
实验三 Attack Lab(缓冲区溢出实验)
《深入理解计算机系统》实验三Attack Lab
《深入理解计算机系统》实验三Attack Lab下载和官方文档机翻
实验四 Architecture Lab(体系结构实验)
《深入理解计算机系统》Y86-64实验四Architecture Lab环境安装
第四章有各种各样的流水线,想自己上去运行操作可以安装Y86-64环境。实验也需要用到此环境。
《深入理解计算机系统》实验四Architecture Lab
《深入理解计算机系统》实验四Architecture Lab下载和官方文档机翻
实验五 Cache Lab(cache实验)
《深入理解计算机系统》实验五Cache Lab
《深入理解计算机系统》实验五Cache Lab下载和官方文档机翻
实验六 Shell Lab(shell实验)
《深入理解计算机系统》实验六Shell Lab
《深入理解计算机系统》实验六Shell Lab 下载和官方文档机翻
实验七 Malloc Lab(malloc实验)
《深入理解计算机系统》实验七Molloc Lab
《深入理解计算机系统》实验七Molloc Lab 下载和官方文档机翻
实验八 Proxy Lab(代理实验)
《深入理解计算机系统》实验八Proxy Lab
《深入理解计算机系统》实验八Proxy Lab 下载和官方文档机翻