标签: CSAPP

9 篇文章

CSAPP Lab:Proxy Lab
这是 CSAPP 书中的最后 1 个 Lab,上一个 Malloc Lab 我感觉刷高分比较麻烦,就先鸽了,遂先完成了这个 📦proxylab-handout.tar 📜proxylab.pdf 本实验是要求实现一个带缓存的多线程代理服务器,分为三个部分: Part 1:实现一个最基础的顺序代理 Part 2:进一步优化,使代理支持多线程(生产者-…
thumbnail
CSAPP 与 CS 基础分享
CSAPP 啃书指南 学习资源 ⭐⭐⭐ 纸质书本 🌟 九曲阑干用 3BB 动画打造的 CSAPP 中文讲解 精校中英字幕 2015 CMU 15-213 CSAPP 深入理解计算机系统 课程视频 CSAPP-3E-SOLUTIONS CSAPP 勘误 也可以知乎搜索下如何阅读 CSAPP,解答也很丰富 CSAPP 的精髓—— Lab CSAPP L…
CSAPP Lab:Shell Lab
[toc] 过年很常时间没有开 lab 了,这个 lab 做了两天(不包括写文档),第一天就是读文档和测试各种 demo,第二天前半天也是测试各种 demo,晚上才把 lab 写完。大概这就是做这个 lab 的体验吧。 做这个 lab 的时候 CSAPP 下载 lab 材料的网站还炸了,一度以为是不开放了再也上不去了 Shell Lab 介绍 Sh…
CSAPP:第 8 章 异常控制流
[toc] 本篇文章是对 CSAPP 第 8 章异常控制流的复现记录,部分代码有笔者的更改 Linux 系统调用 int main() { write(1, "hello, world\n", 13); _exit(0); } 进程控制 获取进程 ID #include <sys/types.h> #include <unistd…
CSAPP:第 7 章 链接
[toc] 由于有事导致这一章很久才开始看,这一章由于没有对应的实验,所以我一边看书一边复现书上的编译链接过程,本篇文章算是复现过程记录吧 编译到链接的基本过程 最后一步应该是需要加很多 [system object files and args] 才能链接成功 符号和符号表 练习题7.1 符号解析 函数和已初始化的全局变量是强符号,未初始化的全局…
CSAPP Lab:Cache Lab
[toc] 做完 Performance Lab 后,摆了一两天玩 PVZ2,又继续来做 Cache Lab。刚跑通本 Lab 的 Part A,某老师就让第二天内交编译的 Lab4,于是第二天花了一整天速成了 Lab4。之后又边摆边做用了两天才搞完这个 Cache Lab。 Cache Lab 介绍 本次实验分为 PartA 和 PartB 两部…
CSAPP Lab:Performance Lab
[toc] 看完 CSAPP 五六章后,摆了一天玩 PVZ2,来做 Performance Lab,做完了继续 PVZ2 Performance Lab 介绍 这个 lab 在 CMU 已经被Cache Lab取代了,听说 Cache Lab 比较难,就先做这个 lab 练练手。基于书上第五、六章对程序进行优化,主要用了循环分块消除缓存不命中和消除…
CSAPP Lab:Attack Lab
[toc] 第五章程序优化看了大半,看累了。晚上孟爷爷在卷不陪我打 CSGO,于是就开始尝试 Lab3: Attack Lab Attack Lab 介绍 这次的 lab 有 14 页的英文文档,里面是题目的要求,也包含解题指导。相比 4 页的 Bomb lab,对读文档的耐心要求更高了,第一天晚上的时间都用来了读文档和搭建实验环境,这次搭建实验环…
CSAPP Lab:Bomb Lab
[toc] 在勉强读完第四章后(流水线后面的HCL细节实现都略过没看了),决定开始尝试传说中的lab,datalab与进制表示的骚操作相关,有点无趣,于是直接开始lab2 bomb(二进制炸弹实验) Bomb Lab 介绍 这个 lab 给了一个名为 bomb 的程序文件,还有一个名为 bomb.c 的文件是题目要求和 bomb 实现的代码框架,代…