HEYWEEN

阶段性总结-1(Claude)

这是一个很好的时机做一次”知识融合”。我不会重新讲每个概念,而是带你看:这些东西如何共同构成一个运行中的计算机系统。 你学的这些东西,本质上是同一个问题的不同侧面:操作系统如何把”静止的程序”变成”活的进程”,并让多个进程安全共存。 我们先用一张图把所有概念串起来,然后再讲逻辑。 现在我们沿着这张图,讲清楚每一层之间的因果逻辑。 主线:一个程序如何变成活的进程 整个知识体系...

中间代码生成

中间代码表示 中间表示(Intermediate Representation, IR):编译器在前端与后端之间使用的、与具体源语言和目标机器都相对独立的程序表示形式,用于承载程序语义、驱动优化,并作为目标代码生成的输入 前端对源程序进行分析并产生中间表示,后端在此基础上生成目标代码 为什么需要IR? 解耦与可移植性:同一前端可面向多个后端;同一后端可复用多个前端 ...

线程

REVIEW:进程 首先,我们为什么需要“进程” 这是个老生常谈的问题,古早的计算机,一次只跑一个程序。程序从头跑到尾,独占所有内存和 CPU。这会带来两个问题: 问题 1:资源浪费。程序在等磁盘、等网络的时候,CPU 完全空闲。 问题 2:不安全。两个程序同时跑,一个写坏了内存,另一个也跟着崩。 所以这就引到了我们最熟悉的那句话:给每个程序一个“幻觉”——让它以为自己独占整台机器...