异常控制流
异常(待补充)#
异常的类别#
异常分为:
- 中断(
interrupt
) - 陷阱(
trap
) - 故障(
fault
) - 终止 (
abort
)

进程#
当在系统中运行一个程序,会得到一个假象,好像我们的程序在独占系统资源地执行。事实上,这是通过进程的虚拟化来实现的。
进程的一个经典定义:一个执行中程序的实例。也就是说,每个运行的程序都是一个进程,而每个进程都有自己的上下文。
当用户向shell中输入一个可执行文件的名字,运行程序时,就会创建一个进程。当然,应用程序也可以创建一个进程。
进程之所以重要,是因为进程提供给应用程序两个关键的抽象:
- 一个独立的逻辑控制流,通过称为上下文切换的内核机制,使得程序好像在独占地使用处理器。
- 一个私有的地址空间,通过虚拟内存,使得程序好像在独占使用内存空间。
逻辑控制流#
程序计数器(PC
)值的序列称为逻辑控制流,简称逻辑流。通常所说的逻辑流是对程序执行路径的抽象描述
图8-12是一个运行着三个进程的系统。处理器的一个物理控制流被分成三个逻辑流,每个进程一个。如下图所示,三个逻辑流的执行是交错的。也就是说,进程轮流使用处理器。

每个进程执行它的流的一部分,然后被抢占(preempted)(暂时挂起),其他进程使用处理器。对于在每个进程的上下文中运行的程序,看上去好像在独占使用CPU资源。
并发流#
一个逻辑流的执行在时间上与另外一个流重叠,称为并发流(concurrent flow),这两个流被称为并发地运行。
并发(concurrency): 多个流并发地地执行的一般现象称为并发
多任务:一个进程和其他进程轮流运行的概念称为多任务
时间片:一个进程执行它控制流的一部分的每一个时间段叫做时间片。因此,所任务也叫时间分片。在图8-12中,进程A的流由两个时间片组成。
应当注意的是:如果两个流在时间上重叠,那么它们就是并发的。
并行流:两个流并发地运行在不同的处理器核或者计算机上,将其称为并行流。
私有地址空间#
进程为每个程序提供提供他自己的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!