原文地址:https://billc.io/2019/04/csapp-bomblab/ 写在前面 CS:APP是这学期的一门硬核课程,应该是目前接触到最底层的课程了。学校的教学也是尝试着尽量和CMU同步,课件和习题都直接照搬原版。包括现在着手的第二个实验室Bomb Lab。这个lab很有意思,没有 ...
分类:
移动开发 时间:
2020-03-20 20:02:13
阅读次数:
101
存储器的结构 最近在阅读GPU相关文献的时候看到cache相关的术语,上一次看到这些还是在学校里的时候,有些记不清了,翻了下CSAPP复习了下cache line,cache set相关的内容。 Cache的组织 cache分为很多个set,每个set里面有很多个cache line,每个Cache ...
分类:
其他好文 时间:
2020-03-03 12:41:05
阅读次数:
57
经典重温,冲冲冲。 Integer bitXor 解题思路:布尔代数。对于异或,从定义式出发,并使用「德摩根定律」变换: $$ \begin{align} A \oplus B &= \overline{A}B + \overline{B}A \\ &=\overline{(\overline{\o ...
分类:
移动开发 时间:
2020-03-02 14:24:39
阅读次数:
106
前言 CSAPP对我个人的影响很大所以想自己写一份相关lab的答案,以供交流讨论。 概念辨析 phase_1 answer: Border relations with Canada have never been better. 栈指针减8,开辟空间,esi为第二个接收函数第二个参数,调用stri ...
分类:
移动开发 时间:
2020-01-26 00:50:01
阅读次数:
149
1.存储器层次结构 关于局部性的理解详见https://www.jianshu.com/p/fa9aa1db0c0f 主存 高速缓存 和CPU寄存器 按地址访问 磁盘 按 块访问 光盘顺序访问 金字塔从下往上单位容量越小 造价越高 性能越好 访问速度越快 在任何时刻 第k层的缓存包括第k+1层块的一 ...
分类:
移动开发 时间:
2020-01-05 00:04:10
阅读次数:
108
二进制炸弹是第三章《程序的机器级表示》的配套实验,这章主要介绍了x64汇编,包括:操作数的表示方式,数据传送指令,算术和逻辑指令,控制流跳转指令,过程(procedure)的实现与运行时栈帧,C语言中的数组,struct,union以及浮点数的汇编表示等。通过这章的学习,对C有了更深的理解,可以看出... ...
分类:
移动开发 时间:
2019-12-22 12:39:43
阅读次数:
148
CSAPP第七章 7.1 1.函数后没跟函数体则为声明,跟了则为定义 下列情况仅为声明 1: 仅仅提供函数原型:void display(); 2: extern int a; 3: class A; 4: typedef 声明; 5: 在类中定义的静态数据成员的声明 class A{ public ...
分类:
移动开发 时间:
2019-12-18 23:44:00
阅读次数:
161
CSAPP第八章 参考https://www.cnblogs.com/zy691357966/p/5480537.html 8.1异常 异常是异常控制流的一种形式,一部分由硬件实现,一部分由操作系统实现 a transfer of control to the OS kernel in respon ...
分类:
移动开发 时间:
2019-12-17 00:45:07
阅读次数:
147
在CSAPP中看到Web Server的部分内容, 联想到经常使用IIS, 所以准备了解一点. p9~p15. IIS7特性 管道集成 IIS 7.0将ASP.NET与请求管道进行了集成, IIS 7提供了统一的事件管道, 之前有一个2种独立的管道 IIS管道和ASP.NET管道. 为了向后兼容, ...
分类:
其他好文 时间:
2019-12-14 21:23:21
阅读次数:
104
CSAPP第七章概念 1.虚拟地址数=2^(虚拟地址位数) 最大可能的虚拟空间=虚拟地址数-1 2. 使用虚拟寻址,CPU需要将虚拟地址转换成物理地址,这样才能访问真实的物理内存 concepts:1)VM on disk,PM (DRAM cache) 2)page--cache blocks 3 ...
分类:
移动开发 时间:
2019-12-07 01:27:34
阅读次数:
164