操作系统四大核心特征:并发、共享、虚拟、异步

很多刚接触操作系统的同学,第一次看到 “并发、共享、虚拟、异步” 这几个词时,总觉得又抽象又绕。今天咱们就用大白话 + 思维导图的核心要点,把这四个特征彻底讲明白,看完就能直接记牢~


一、并发(Concurrency)vs 并行(Parallelism):别再傻傻分不清!

这俩是操作系统最容易搞混的一对概念,核心区别就两个字:同时

1. 基础定义 & 核心考点

  • 并发:两个或多个事件,在同一时间间隔内发生。

    • 典型场景:单核 CPU的多程序执行。比如你一边写代码一边聊微信,CPU 其实是在 “写代码指令” 和 “微信消息处理指令” 之间快速切换,微观上是交替执行的,只是切换速度快到你感觉是同时进行的。

  • 并行:两个或多个事件,在同一时刻同时发生。

    • 典型场景:多核 CPU的多进程执行。比如你用 4 核电脑同时开 4 个游戏,每个核心都在跑一个游戏进程,这才是真正的 “同时干活”。

2. 超通俗例子(一眼看懂区别)

就拿 “9 点到 10 点” 这个时间段来说:

  • 并发模式:9:00-9:10 吃面包,9:10-9:20 写字,9:20-9:30 吃面包,9:30-10:00 写字。同一时间你只做一件事,在不同任务之间来回切换,整体时间段内两个任务都完成了。

  • 并行模式:9:00-10:00,右手写字,左手吃面包。同一时刻你同时在做两件事,真正的 “同时进行”。

💡 补充知识点:并发和并行互为存在条件吗?其实更准确的说法是,并发是操作系统的基础,而并行是硬件多核化后带来的能力;没有并发设计,多核也没法高效利用,而没有并行硬件,也只能实现 “伪同时” 的并发。


二、共享(Sharing):大家一起用系统资源

共享的核心是:系统中的资源,可以被内存中多个并发执行的进程共同使用。但怎么 “共享”,还分两种模式:

1. 互斥共享(也叫临界资源共享)

  • 规则:某些资源虽然能被多个进程用,但同一时间内只能有一个进程使用,用完才能给下一个。

  • 例子:打印机、磁带机、变量、栈。比如你和同学同时发打印任务,打印机只能先打一个,再打下一个,不可能同时打印两份文件。

2. 同时访问共享

  • 规则:在一个时间段内,允许多个进程 “宏观上同时” 访问资源,微观上还是分时交替的,和并发的逻辑很像。

  • 例子:磁盘上的公共文件,多个用户可以同时读取同一个存档文件,系统会分时处理每个用户的读取请求,不会互相干扰。


三、虚拟(Virtualization):把一个物理资源 “掰成” 多个用

虚拟的核心逻辑是:通过技术手段,把一个物理实体,映射成多个逻辑上的对应物,让用户感觉自己独占了资源。它主要靠两种复用方式实现:

1. 时分复用(时间上的复用)

把资源的使用时间切分成片段,轮流给多个进程用。比如 CPU 的时间片轮转调度,一个 CPU 核心可以轮流跑多个进程,让每个进程都觉得自己独占了 CPU。

2. 空分复用(空间上的复用)

把物理资源的空间分成多个部分,分给不同的进程使用。比如内存分区,把物理内存分成多个块,每个进程用一块,让多个进程同时运行在内存里。

💡 举个最常见的例子:你电脑里开了 3 个浏览器窗口,每个窗口都觉得自己独占了显卡和内存,其实都是虚拟技术的功劳,物理资源被分时 / 空分复用了。


四、异步(Asynchronism):进程的执行是 “断断续续、不可预知” 的

异步的核心场景是多道程序环境:多个程序并发执行,但因为系统资源有限,进程不是连续执行的,而是以不可预知的速度 “走走停停” 推进。

  • 举个例子:你开了下载软件和视频软件,下载进程和视频播放进程会抢 CPU 和带宽资源,有时候下载快一点,有时候视频播放更优先,你没法预测每个进程下一秒会执行到哪一步。

  • 关键关系:没有并发性,就没有异步性。如果只有一个程序在跑,那它肯定是从头到尾连续执行的,只有多个进程并发争抢资源时,才会出现这种不可预知的推进节奏。


五、四大特征的内在联系(划重点!)

这四个特征不是孤立的,它们环环相扣:

  1. 并发是基础:操作系统的核心目标就是让多个程序高效并发执行,没有并发,共享、虚拟、异步都无从谈起。

  2. 共享是并发的保障:多个进程要并发执行,就必须能共享系统资源(CPU、内存、IO 设备),不然每个进程都独占资源,根本没法同时跑。

  3. 虚拟是并发的实现手段:通过时分 / 空分复用,把有限的物理资源虚拟成多个逻辑资源,才能支撑大量进程并发运行。

  4. 异步是并发的必然结果:多个进程并发争抢资源,必然导致执行过程断断续续、速度不可预知,也就是异步性。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐