引言

任何技术的演进都是为了解决前人留下的痛点。操作系统的发展也不例外——它的每一步进化,都在回答同一个问题:“怎样才能让昂贵又稀缺的计算机资源得到更充分的利用?”

核心速览

  • 操作系统的演进主线:解决人机速度矛盾 → 提高资源利用率 → 改善用户体验
  • 六个关键阶段:手工操作 → 单道批处理 → 多道批处理 → 分时系统 → 实时系统 → 网络/分布式系统
  • 408 考试重点:每个阶段主要解决什么问题、各自的优缺点、代表性技术术语

第一阶段:手工操作时代

这是计算机的"石器时代"。程序员需要亲自操作物理开关和纸带:

程序员 → 人工装/取纸带 → 计算机运算 → 人工取结果

工作流程

  1. 程序员把程序打在纸带上
  2. 走到机房,人工把纸带装入输入机
  3. 计算机开始运行
  4. 运行完毕后,人工取下打印结果
  5. 下一个程序员才能开始

致命缺陷

  • 人机速度矛盾:CPU 运算速度极快(微秒级),人的操作速度极慢(秒~分钟级)
  • 资源利用率极低:CPU 大部分时间在"等人",而非"干活"
  • 用户独占全机:一个人霸占着整台计算机,其他人排队干等

第二阶段:单道批处理系统

为了解决"人等机器"的问题,引入了监督程序(操作系统的雏形):

程序员A → 程序A ─┐
程序员B → 程序B ─┤ → 外围机 → 磁带 → 计算机 → 磁带 → 外围机 → 打印结果
程序员C → 程序C ─┘

核心技术

  • 磁带作为缓冲介质(读写速度远快于纸带)
  • 监督程序负责自动将磁带上的作业逐个加载到内存执行
  • 程序员不再需要亲自操作机器,只需提交作业

优点

  • 一定程度上缓解了人机速度矛盾
  • 资源利用率有所提高

缺点

  • 内存中只能保存一道程序,CPU 在等待 I/O 操作时处于空闲状态
  • 资源利用率仍然较低

第三阶段:多道批处理系统

这是操作系统发展史上的里程碑——操作系统正式诞生!

          ┌── 程序A ────┐
内存中同时 │  程序B      │  → CPU 在程序之间切换:A 等 I/O 时,CPU 执行 B
存在多道程序│  程序C      │
          └────────────┘

核心突破

  • 内存中同时驻留多道程序
  • 当程序 A 在执行 I/O 操作(慢)时,CPU 立即切换到程序 B(快)
  • CPU 始终保持"忙碌"状态

优点

  • 多道程序并发执行,资源利用率大幅提升
  • CPU 吞吐量显著增加

缺点

  • 用户交互性差:提交作业后只能干等结果,中间无法干预
  • 响应时间长:如果前面有大作业,后面的小作业也得排队
  • 无法调试:程序运行过程中无法进行交互式调试

第四阶段:分时操作系统

为了解决"用户交互"的问题,分时系统登场:

时间片轮转:

时间轴:  │←50ms→│←50ms→│←50ms→│←50ms→│...
分配给:   用户A    用户B    用户C    用户A   ...

核心机制:以时间片(time slice)为单位,轮流为多个用户/作业服务。

优点

  • 彻底解决了人机交互问题
  • 多个用户可以同时使用一台计算机,互不干扰
  • 用户可以实时调试程序、查看中间结果

缺点

  • 不能优先处理紧急任务:所有用户一视同仁,循环分配时间片
  • 对于需要实时响应的任务(如导弹控制),分时系统无能为力

第五阶段:实时操作系统

为了解决"及时响应"的问题,实时系统应运而生:

实时系统分类:

├── 硬实时系统:必须在严格时限内完成
│   └── 导弹控制系统、自动驾驶
│
└── 软实时系统:偶尔超时可以接受
    └── 12306 抢票系统、视频会议

核心特征及时性可靠性

  • 硬实时:超时可能导致灾难性后果(飞机自动驾驶延迟 1 秒 = 机毁人亡)
  • 软实时:超时影响体验但不致命(抢票慢了 0.5 秒 = 票被别人抢了)

第六阶段:网络操作系统与分布式操作系统

网络操作系统

将多台计算机通过网络连接,实现数据通信和资源共享。典型代表如 Windows NT。

分布式操作系统

更高阶的网络系统,核心特征是分布性并行性

  • 系统中的多台计算机地位相同,可以分布在不同的地理位置
  • 任何工作可以被分布到多台计算机上并行协同完成
  • 用户可以像使用一台计算机一样使用整个系统

六阶段速记对照表

阶段 主要矛盾 核心机制 关键缺点
手工操作 人机速度矛盾 人工装取纸带 CPU 大量时间等人
单道批处理 人工效率低 监督程序 + 磁带 内存中仅一道程序
多道批处理 CPU 等待 I/O 多道程序并发 无交互能力
分时系统 无用户交互 时间片轮转 不区分优先级
实时系统 紧急任务响应 优先级抢占 成本高,适用面窄
网络/分布式 资源共享 网络互联 + 协同计算 复杂度高

⚠️ 考研提醒:408 选择题最爱考"多道批处理系统是操作系统正式诞生的标志"和"分时系统解决了人机交互问题"。同时要会区分网络操作系统和分布式操作系统的关键差异(分布式强调并行协同)。


常见疑问

单道批处理和多道批处理最本质的区别是什么?

内存中同时存在的程序数量。单道批处理同一时刻内存中只有一道程序,CPU 等 I/O 时就空闲。多道批处理内存中同时驻留多道程序,A 等 I/O 时 CPU 去执行 B。后者是操作系统并发性的最早实现。

分时系统和实时系统的区别仅仅是"快"吗?

不只是快慢的问题,而是设计理念根本不同。分时系统追求公平性(每个用户时间均等),实时系统追求优先级(紧急任务优先处理)。分时系统的时间片轮转是"排队制",实时系统是"急诊制"。


小结

  • 发展主线:人机矛盾 → 提高利用率 → 改善交互 → 保障及时性 → 网络共享
  • 关键拐点:多道批处理 = 操作系统正式诞生;分时系统 = 人机交互的起点
  • 考试重点:每个阶段的优缺点,以及它解决了上一阶段的什么问题

下一篇我们将深入操作系统的运行机制——内核态与用户态的区别、中断和异常的工作原理、以及系统调用的全流程剖析。

Logo

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

更多推荐