四大特征:并发性、共享性、虚拟性、不确定性,选择题高频考点,务必分清概念。
1)并发性
宏观同时运行,微观交替执行
- 单 CPU:并发 。一段时间看上去多个程序同时跑;某一瞬间,只有一个程序真正在 CPU 上执行,进程轮流交替使用 CPU。
- 多 CPU:可以做到并行,多个程序真正同一时刻分别在不同 CPU 上一起执行。
✅考点区分
- 并发:时间上交替,宏观同时,微观串行(单核 CPU)
- 并行:同一时刻真正同时执行(多核 / 多 CPU)
一句话记忆:并发是 "看上去一起跑";并行是 "真的一起跑"。
2)共享性
多个并发进程共同使用系统资源,资源不被某一个进程独占。分为两种共享方式:
- 互斥共享(临界资源):同一时刻只允许一个进程使用。例如打印机,不能两个进程同时打印。
- 同时共享:同一时间段多个进程可以同时访问。比如磁盘文件,多个进程可以读同一个文件。
为什么要共享:硬件资源昂贵,如果每个程序独占一套资源,成本极高,不现实。
⚠️小知识点:并发和共享互为条件。没有并发就不存在资源共享;没有共享,并发也失去意义。软考经常考这句话。
3)虚拟性
物理实体 ↔ 逻辑虚构对象,是操作系统的管理技术。 两类情况:
- 物理 1 个 → 逻辑多个(最常见) 例:一台物理 CPU,通过分时,逻辑上看成多个虚拟 CPU,每个进程感觉自己独占 CPU。
- 物理多个 → 逻辑 1 个 把多个物理设备,对外包装成一个逻辑设备给用户使用。
例子:虚拟存储器、虚拟处理器、SPOOLing 假脱机技术(把一台打印机虚拟成多台打印机)。
重点:虚拟出来的逻辑对象,是用户感知到的假象,并不是物理真实存在。
4)不确定性(也叫异步性)
进程是走走停停,执行节奏不可预知:
- 进程什么时候被调度运行、什么时候被暂停、执行速度、总耗时,都不确定。
- 不是说结果一定错:只要初始输入相同,最终结果必须是确定的;只是执行的时间顺序、推进速度不确定。
❗考试大坑(极易选错)
❌错误理解:不确定性 = 输出结果一定不一样 ✅正确理解:执行时序、速度、什么时候完成不确定;只要输入一样,正确程序输出结果唯一。 如果不加保护,并发竞争资源,才会造成结果不唯一。
极简对比表格(复习直接背)
表格
| 特征 | 核心含义 | 典型例子 |
|---|---|---|
| 并发性 | 宏观多程序同时运行;单核微观交替执行;多核可并行 | 多任务同时打开浏览器、微信 |
| 共享性 | 多个进程共用软硬件资源;分互斥共享、同时共享 | 打印机(互斥);磁盘读文件(同时) |
| 虚拟性 | 物理实体,映射成逻辑虚构对象 | 虚拟内存、SPOOLing 假脱机 |
| 不确定性 (异步性) | 进程走走停停,执行时机、速度不可预知;输入相同结果应相同 | 进程随时可能因等待 IO 被挂起 |
📝简答背诵版(案例如果考简答直接写)
- 并发性:多道程序环境,宏观多个程序同时运行;单 CPU 下微观交替执行;多 CPU 可以实现并行执行。
- 共享性:系统资源被多个并发进程共同使用,分为互斥共享、同时共享。并发与共享互为存在条件。
- 虚拟性:操作系统把物理实体映射为多个逻辑对象,或是多个物理实体抽象为一个逻辑对象,为用户提供方便高效环境。
- 不确定性(异步性):进程执行走走停停,执行时机、推进速度不可预知;输入相同,程序运行结果应当确定。
记忆小口诀
并共虚异(并发性、共享性、虚拟性、异步 / 不确定性)