【2. 操作系统的四大特性:并发、共享、虚拟、异步 】


前言

操作系统与普通的软件不同,它不仅要管理计算机硬件资源,还需要确保多个任务能高效地协调运行。其核心特性包括 并发、共享、虚拟、异步,这些特性使得现代计算机能够高效、稳定地执行多个任务。本文将深入解析这四大特性,并结合实际案例加深理解。


1. 并发(Concurrency)

并发指的是 多个任务在同一时间间隔内交替执行。在宏观上,这些任务似乎是同时进行的,但在微观上,它们是交替运行的。

并发 vs. 并行
  • 并发(Concurrency):多个任务在一个 CPU 上 交替 执行
  • 并行(Parallelism):多个任务在多个 CPU 上 真正同时 进行

例如,在 单核 CPU 上运行多个程序,操作系统会快速切换任务,使它们看起来像是同时进行的(并发)。而在 多核 CPU 上,多个任务可以真正地同时运行(并行)。

示例:运行多个进程,观察并发效果

# 启动两个进程并行运行
sleep 5 &   # 进程1:休眠5秒
sleep 10 &  # 进程2:休眠10秒
jobs        # 查看后台运行的进程

输出:

[1] 12345
[2] 12346

在后台运行了两个进程(PID 12345 和 12346),它们在同一时间间隔内并发执行。


2. 共享(Sharing)

资源共享是指系统中的 多个进程可以共同使用同一资源。共享分为两种方式:

1️⃣ 互斥共享(Mutual Exclusion)

某些资源 一次只能被一个进程使用,其他进程必须等待。例如,打印机、摄像头等设备属于 临界资源,必须互斥访问。

示例:检查哪个进程正在使用摄像头

lsof /dev/video0  # 查看占用摄像头的进程

如果摄像头被微信占用,输出可能是:

wechat  23456  user  33u  CHR  81,0  0t0  /dev/video0

这说明 wechat 进程(PID 23456)正在使用摄像头,其他程序不能同时访问。

2️⃣ 同时共享(Simultaneous Sharing)

某些资源可以允许 多个进程交替访问,形成“分时共享”。例如,多个应用程序可以同时访问硬盘,但在微观层面,它们是轮流进行 I/O 操作的。

示例:查看磁盘 I/O 访问情况

iostat -x 1 5  # 每秒刷新磁盘 I/O 统计,共 5 次

如果多个进程同时访问磁盘,系统会智能调度,使它们在宏观上看起来是同时进行的。

3️⃣ 并发性和共享性互为条件

共享资源的机制是实现并发的前提,而并发执行也依赖于资源共享。例如,多个进程需要同时访问 CPU 和内存,操作系统通过 时间片轮转资源调度 实现共享。


3. 虚拟(Virtualization)

虚拟化 是指 将一个物理实体转换为多个逻辑实体,使得多个任务可以共享相同的资源。

1️⃣ 虚拟处理器(Virtual CPU)

操作系统利用 多道程序设计 让多个进程共享 CPU 资源。每个进程都认为自己 独占 CPU,但实际上 CPU 是在多个进程之间高速切换的。

示例:查看 CPU 调度情况

top  # 监视进程和 CPU 占用情况
2️⃣ 虚拟存储器(Virtual Memory)

虚拟内存技术允许程序访问 比物理内存更大的地址空间。操作系统会将 部分数据存放在磁盘,当程序需要时再加载到内存中。

示例:查看虚拟内存使用情况

vmstat 1 5  # 每秒查看虚拟内存使用情况,共 5 次
3️⃣ 虚拟设备(Virtual Devices)

操作系统可以把 一个物理设备虚拟化为多个逻辑设备,使得多个用户或进程可以共享同一设备。例如:

  • 多个虚拟机 共享一块物理网卡
  • 操作系统创建多个虚拟磁盘 供不同进程使用

示例:列出系统中的虚拟磁盘

lsblk  # 查看所有磁盘和分区

4. 异步(Asynchrony)

多道程序环境 下,多个进程是 并发执行 的,但由于资源有限(如 CPU 只有一个),进程的执行是 不可预测的,通常是“走走停停”的。

进程的异步执行

进程的执行顺序受 CPU 调度、I/O 操作、资源竞争 等因素影响,导致其执行速度不可预测。

示例:运行两个进程并观察调度情况

(echo "Process 1"; sleep 3; echo "Process 1 done") &  
(echo "Process 2"; sleep 1; echo "Process 2 done") &
wait

输出:

Process 1
Process 2
Process 2 done
Process 1 done

尽管 Process 1 先启动,但 Process 2 由于 等待时间较短,比 Process 1 先完成。这就是 异步执行 的体现。


总结

操作系统的四大特性——并发、共享、虚拟、异步——决定了计算机系统的运行方式:

  1. 并发性:多个任务在同一时间间隔内交替执行,提高 CPU 利用率
  2. 共享性:多个进程可以同时使用系统资源,分为 互斥共享同时共享
  3. 虚拟性:通过 时间分配空间分配,虚拟化 CPU、内存和设备,提高资源利用率
  4. 异步性:进程的执行是不可预测的,受 CPU 调度、I/O 操作等影响

这些特性共同作用,使得操作系统能够高效地管理计算机资源,让多个任务在有限的硬件环境下稳定运行。希望本文能帮助你深入理解操作系统的核心特性!🚀

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值