CSAPP课程学习笔记-0

待更新

学习资源

引用一个知乎回答

学习这门课我觉得收获最大是写lab。这门课一共有6个lab。
分别是:

  • Data Lab:bit 运算与float的相关操作
  • Bomb Lab:阅读汇编破解密码
  • Attack Lab:Buffer Overflow 攻击
  • Cache Lab:实现一个cache simulator已经一个cache efficient的矩阵转置。
  • Shell Lab:用多进程实现一个简单的linux shell。主要是熟悉进程控制与同步。
  • Malloc Lab:自己写一个C语言的malloc函数。
  • Proxy Lab:写一个支持HTML的多线程Server。熟悉Unix网络编程与多线程的控制与同步。

从底层的角度来讲,特定条件下

switch语句和if else语句谁更高效?

while循环和for循环哪个更高效?

解释器构造实践相关的几个问题:

  • Why are there so many programming languages?
  • Why are there new programming languages?

  • What is a good programming language?