HEYWEEN

中间代码生成

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

线程

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

程序与进程,fork()、execve()、_exit()

程序与进程 程序描述了“配方”“步骤”“指令”,它本身就是一串字节序列,当它真正运行起来,就变成了进程process 一个程序可以有多个进程 当程序运行起来,操作系统就会给它分配一些资源 也就是说:程序是语义 (状态机) 的静态描述 描述了初始状态和迁移规则 程序运行起来,就成了进程 (进行中的状态机实例) (同一个程序可以...