<aside> 📖 一个干净的理论模型 (Simple Sequential Execution)
$$ \text{Program} = \text{State Machine} \\ \text{OS} = \text{Object} + \text{API} $$
<aside> 📖 指令分为两种
<aside> 📖 一个普通的 C 程序执行的第一条指令在哪里?
动态链接的加载器中
</aside>
<aside> 📖 本质上,所有的程序和 Hello World 类似
用strace
跟踪\
</aside>
<aside> 📖 如何在程序的两个视角之间切换?
编译器:源代码$S \rightarrow$ 二进制代码$C$
$C=\text{compile}(S)$
编译 (优化) 的正确性 (Soundness):
$S$与$C$的可观测行为严格一致
</aside>