# 2. 操作系统的四个特征

![](https://824295091-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MEmUhsvIFBb8ar2-Um3%2F-MEmvLtu92hDCjUISpFu%2F-MEqWa-9urm6IblX5CQe%2F%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E7%9A%84%E7%89%B9%E5%BE%81.svg?alt=media\&token=f74fd94a-73ef-4f56-bb69-0792f69c301d)

## 1. 并发

**并发：**&#x6307;两个或多个事件在同一时间间隔内发生。这些事件**宏观上是同时发生**的，但**微观上是交替发生**的

**并行：**&#x6307;两个或多个事件在同一时刻内发生

**操作系统中的并发性：**&#x6307;计算机系统中 “同时” 运行着多个程序，这些程序宏观上看是同时运行的，而微观上是交替运行的。**操作系统和程序并发是一起诞生的，因此并发性是操作系统一个最基本的特性。**

> 单核 CPU 同一时刻只能执行一个程序，各个程序只能并发地执行
>
> 多核 CPU 同一时刻可以同时执行多个程序，多个程序可以并行地执行

## 2. 共享

**共享**即资源共享，是指系统中的资源可供内存中多个并发执行的进程共同使用

**资源共享的两种方式：**

1. **互斥共享方式：**&#x7CFB;统中的某些资源，虽然可以提供给多个进程使用，但一个时间段内只允许一个进程访问该资源
2. **同时共享方式：**&#x7CFB;统中的某些资源，允许一个时间段内由多个进程 “同时” 对它们进行访问

## 3. 虚拟

**虚拟**是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体（前者）是实际存在的，而逻辑上对应物（后者）是用户感受到的

例一：一个 4 GB 内存的电脑，却可以运行远大于 4 GB 内存的程序（**虚拟存储技术 —— 空分复用技术**）

例二：一个单核的计算机，却可以同时运行多个程序（**虚拟处理器技术 —— 时分复用技术**）

## 4. 异步

**异步**是指在多道程序环境下，允许多个程序并发执行，但由于资源有限，进程执行并不是一管到底的，而是走走停停，以不可预知的速度向前推进

## 5. 关系

**并发性**指计算机系统中同时存在着多个运行着的程序

**共享性**指系统中的资源可供内存中多个并发执行的进程共同使用

> 如果失去并发性，则系统中只有一个程序正在运行，则共享性失去了存在的意义
>
> 如果失去共享性，则多个程序不能同时访问硬件资源，就无法实现同时发送文件等功能，也就无法并发
>
> 如果失去了并发性，则一个时间段内系统只需要运行一道程序，那么就失去了实现虚拟性的意义。因此，**没有并发性，就谈不上虚拟性**。
>
> 如果失去了并发性，即系统只能串行地运行各个程序，那么每个程序的执行会一贯到底。**只有系统拥有并发性，才有可能导致异步性**。
>
> **并发性 & 共享性 => 互为存在条件**
>
> **没有并发性和共享性，就谈不上虚拟和异步，因此并发和异步是操作系统最基本的两个特征**
