- 博客(217)
- 收藏
- 关注
原创 深入理解计算机系统 CSAPP 实验lab:Cache Lab
I”表示指令加载,“L”表示数据加载,“S”表示数据存储,并且“M”表示数据修改。地址字段指定64位十六进制内存地址。size字段指定操作访问的字节数。
2024-08-22 11:47:31 251
原创 深入理解计算机系统 CSAPP 实验lab:Architecture Lab
前期准备参考: 深入理解计算机系统 CSAPP 第四章 Y86-64模拟器 安装与使用-CSDN博客说一下指令mrmovq 8(%rdi),%rdi8(%rdi)显然是指向下一个元素的地址,要注意的是.quad ele2 和 ele2: 是两个不同的东西,8(%rdi)指的是前者,前者加上括号 (8(%rdi)) 才是后者..quad 0的值是 0,所以我们用andq %rdi,%rdi作为判断结束的语句.
2024-08-17 10:20:49 371
原创 深入理解计算机系统 CSAPP 实验lab:Attack Lab
学生将获得一对独特的自定义生成的x86-64二进制可执行文件,称为目标,它们有缓冲区溢出错误。另一个容易受到面向返回的编程攻击。学生被要求通过开发基于代码注入或面向返回的编程的漏洞来修改目标的行为。这个实验室向学生传授堆栈规则,并教他们编写容易受到缓冲区溢出攻击的代码的危险。如果你是一个自学的学生,这里有一对Ubuntu 12.4目标,你可以自己尝试。你需要使用“-q”选项运行你的目标,这样他们就不会试图联系一个不存在的评分服务器。如果你是一个拥有CS: APP账户的讲师,你可以在这里下载解决方案。
2024-08-12 08:24:08 365
原创 深入理解计算机系统 CSAPP 实验lab:Data Lab
此时 1000|0001=1001 但是我们不能用|运算好像又回到了刚才的问题了。实验资源下载地址:csapp.cs.cmu.edu/3e/labs.html。转换思路,我们尝试获得1001然后取反就可以获得目标0110了。这里我们不是按逻辑推导出来的,把此算法放入程序中测试,显示通过。目标: x ^ y = 0110。0010|0100=0110得到目标,但是我们不可以用|运算。只要结果对就行了,这里我们忽略得到结果的过程。刚好得到最初的目标0110 问题解决。
2024-08-02 11:53:09 338
原创 深入理解计算机系统 CSAPP 练习题12.4
我们每次都用read_set初始化ready_set是因为我们每次都处理read_set里的描述符,这是我们希望服务器做的事情.每次一有描述符3或描述符0,或者都来,我们就干对应的事.由此可以看到select函数的神奇之处,它把一个复杂的事情简单化了.由于它的阻塞,所以我们先处理哪个描述符似乎并不会有什么区别.
2024-07-28 16:42:39 109
原创 深入理解计算机系统 CSAPP 家庭作业11.11
方法请求时返回的一致。该请求方法的一个使用场景是在下载一个大文件前先通过。标头的值获取文件的大小,而无需实际下载文件,以此可以节约带宽资源。信息,并且这些标头与 HTTP。
2024-07-25 15:28:30 225
原创 深入理解计算机系统 CSAPP 家庭作业9.20
经过9.17和9.18,面对9.20应该是有点信心了,不过还是等到全部学完再回头做这个实验题吧.加油。
2024-07-17 14:38:34 91
原创 深入理解计算机系统 CSAPP 家庭作业9.19
a:错误,块大小递减,那就是大块排在前面,首次适配的话,那性能肯定很高,但是碎片肯定多啊。3. 保守的意思是:不是把垃圾全都收拾干净,有些垃圾不管它。b:错误,不一定啊,可以按块大小递增的方法排不是更好吗?c:错误,书上提到后进先出的顺序也需要边界标记来提速。a:正确:最小块大小为8,一直malloc(4)d:正确,方法不同,但实际执行的步数一样。d:错误,外部碎片和申请的内存大小相关。c:错误,应该是选择符合的,但是最小的。b:错误,最佳适配要慢点。
2024-07-17 10:46:52 111
原创 深入理解计算机系统 CSAPP 家庭作业9.17
找空闲块的时候,先把rover存到oldrover中,从rover开始往下一个找,如果没找到的话,就把heap_listp赋给rover,再从头开始找到overrover.两次循环都没有就返回NULL。这个答案就在官方文件里,核心思路是用rover代替原来的heap_listp.合并空闲块的时候要重置一下rover不然有几率会指到错误的地方.一开始将heap_listp赋给rover.
2024-07-16 10:26:36 400
原创 深入理解计算机系统 CSAPP 家庭作业9.16
最小块大小对内部碎片有显著的影响。因此,理解和不同分配器设计和对齐要求相关联的最小块大。很有技巧的一部分是,要意识到相同的块可以在不同时刻被分配或者被释放。最小块大小就是最小已分配块大小和最小空闲块大小两者的。
2024-07-15 18:19:06 84
原创 深入理解计算机系统 CSAPP 练习题9.9
这个函数和练习题9.8的find_fit函数相关,asize是我们实际需要的大小,但是find_fit函数返回的bp有可能是比我们需要的还大的块,此时我们需要对bp进行分割.
2024-07-11 10:52:09 190
空空如也
Y86-64汇编代码 CSAPP家庭作业4.47 jmp L2处于执行阶段时 L2的 rrmovq %rsi,%r8 处于译码阶段 为什么此时 译码阶段的寄存器的Stat的值为HLT?
2024-05-21
深入理解计算机系统 第四章 家庭作业4.47?
2024-05-21
DEV C++ 内联汇编代码编译通过无法运行
2024-05-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人