大西冰城的博客

跟我学操作系统(2):操作系统的四个特征

Word count: 1.5kReading time: 5 min
2026/04/24
loading

操作系统具备四个基本特征,分别是并发性共享性虚拟性异步性。在这四个特征中,并发性与共享性是最为核心的两项,二者相互依存、互为前提,共同构成了操作系统高效运行的基础。
具体而言,并发性指的是多个进程或线程在逻辑层面能够同时运行,这种并行执行的特性必然会引发多个主体对系统中同一批资源的竞争;反之,若系统中不存在资源的共享机制,多个进程或线程便无法实现真正意义上的并发,并发也就失去了存在的条件。
另一方面,若系统始终只有单一进程独占所有资源并执行操作,不存在多个进程的并发需求,那么资源共享的概念便无从谈起,共享也就失去了其实际意义。

1. 并发性

并发性指的是系统能够同时“运行”多个进程,这里的“同时”更多是我们的直观感受,实际上,单个CPU核心在同一时刻只能处理一个进程,操作系统通过时间片轮转等调度算法,让多个进程轮流占用CPU资源,由于进程切换的时间极短,短到超出人类感知范围,因此我们会产生多个进程在同时运行的错觉。

操作系统本身就是伴随多道程序设计(这个在下一章会讲到)而诞生的,并发正是这种设计方式的直接产物。借助并发机制,CPU不再会因为等待某个进程的I/O操作而处于空闲状态,既有效提升了系统资源的利用率,也让系统的响应速度变得更快。

1.1 并发与并行

并发常常和并行混淆,这里需要区分一下:并发指多个进程在同一时间段内交替执行,仅需一个CPU核心即可实现——通过操作系统的调度,多个进程轮流占用CPU资源,宏观上呈现“同时进行”的效果;并行则指多个进程在同一时刻真正同时执行,这一特性依赖于多核CPU或多台机器的硬件支撑,只有具备多个运算核心,才能让多个进程同步开展运算。

需要注意的是,并发是操作系统的基本特征,而并行是硬件能力的具体体现。即便CPU核心数量再多,操作系统运行的进程数量通常也远多于核心数量,因此通过调度实现进程并发,仍是保障系统高效运行的必要手段。

2. 共享性

共享性是指多个进程可对同一系统资源进行访问,根据资源访问规则的不同,大致可分为以下两种类型。

第一种为互斥共享,即同一时刻仅允许一个进程访问该资源,只有当前访问进程完成操作并释放资源后,其他进程才能继续访问。例如麦克风、摄像头等外部设备,操作系统不会允许这种情况发生。

第二种为同时共享,顾名思义,多个进程可对该资源进行同时访问,但这种同时访问通常仅适用于只读资源;若涉及写入操作,仍需遵循互斥原则。磁盘文件便是典型的同时共享资源,多个进程可同时读取同一个文件,不会产生冲突,但如果两个进程同时向文件的同一位置写入数据,会导致数据错乱、丢失等问题,因此写入操作需进行互斥控制。

3. 虚拟性

虚拟性就是把真实的硬件资源“拆成”好几份,这个拆分不是物理上的,而是逻辑上的。操作系统通过虚拟化技技术术,把一个物理资源抽象成多个虚拟资源,让每个进程都觉得自己独占了这个资源。具体的实现有多种,最常见的两种是虚拟处理器虚拟内存

虚拟处理器借助分时调度算法实现:实际物理CPU仅有一个,但操作系统会以时间片为单位,将其虚拟化为多个“虚拟处理器”。每个进程在运行时,都会认为自己拥有一个独立的CPU,从而实现多进程的并发执行。

虚拟内存则是使用空分复用,物理内存大小有限,但是可以把磁盘的部分空间也算进来,给每个进程提供一个看起来连续且远大于物理内存的地址空间,进程不用关心自己的数据实际在哪块物理内存上,操作系统在背后做映射。

4. 异步性

在多进程运行环境中,异步性允许多个进程并发执行。但受限于系统资源的有限性,这些并发运行的进程会相互抢占资源,进而导致部分进程的执行被暂时中断。对此,操作系统通过合理的调度算法,对各类进程的执行顺序进行科学管理,以此保障系统整体的运行效率与响应速度。可以说,异步性的存在,能够让操作系统更充分地利用系统资源,有效提升系统吞吐量,同时优化用户使用体验。

异步性的价值依赖于并发性与共享性的支撑,二者缺一不可:若失去了并发性,多个程序并发执行的场景便不复存在,也就不存在资源抢占的需求,异步性自然失去了存在的意义;若失去了共享性,系统中没有可被多个程序共同争夺的资源,异步性同样无法发挥其作用。

CATALOG
  1. 1. 1. 并发性
    1. 1.0.1. 1.1 并发与并行
  • 2. 2. 共享性
  • 3. 3. 虚拟性
  • 4. 4. 异步性