Chapter 1 A Tour of Computer System
这章是对计算机系统做概述
不过都是一些听到烂掉的东西
像是 Amdahl's Law
总感觉只要是上系统相关的课
不管哪个教授都非要提一次不可
不过这本书蓝框框的内容我很喜欢
通常是讲一些历史故事
像 C 语言怎么诞生的之类的
就蛮有趣的
https://i.imgur.com/oxKXM8d.png
我发现好像有不少人没有意识到 assembly 跟 binary 的区别
就似乎觉得这两个可以互相转换,区别只有人看不看得懂
不过其实 binary 是很难转回 assembly 的
因为 instruction 中间可能有 data
你连哪里是 instruction 哪里又是 data 都分不清楚
又如果出现像是 jmp rax 之类的指令就变不可判定问题
因为这就等价于知道 rax 所有可能的值 才有办法知道会跳去哪
虽然我记得好像在哪里看到说现在的 compiler 不爱放 inline data 了
如果有的话也多半是 jump table
不过要是是刻意要和你作对的程式,例如病毒
那还是很容易转不回来
https://i.imgur.com/LhtQjh8.png
我贴这张只是想说我不喜欢 low address 在下面
因为这样 stack 会变成往下长
这完全不符合直觉,因为叫堆叠不是就应该往上叠吗
不过反正树也是往下长,可能码农的世界是颠倒的吧
到目前还算看得懂
大概等到进到 pipeline 之类的东西我就完全忘光了