操作系统的发展历程:从手工操作到现代系统

操作系统不是一蹴而就的,它的每一次迭代,都是为了解决上一代系统的痛点,让计算机的资源利用率、交互体验和可靠性不断升级。今天咱们就顺着时间线,把操作系统的发展阶段讲得明明白白~


一、手工操作阶段:程序员 “亲自下场” 的时代

这是计算机刚诞生时的 “原始阶段”,完全没有操作系统的概念,程序员要自己上手操作机器。

两种操作方式

  1. 人工操作方式

    1. 逻辑:用户独占整台计算机,从输入程序到运行结束,全程都得自己守着。

    2. 致命缺点:

      • 资源利用率极低:CPU 经常长时间 “摸鱼”,等你输入打孔纸带、调试程序的时候,它只能空转,计算能力根本没法充分发挥。

  2. 脱机 I/O 方式(早期的 “自动化尝试”)

    1. 逻辑:引入脱机输入 / 输出技术,由监督程序控制数据的输入输出,不用程序员全程盯着。

    2. 优点:缓解了一部分人机矛盾,资源利用率有了一点点提升。

    3. 核心局限:内存中只有一道程序运行,必须等这道程序完全结束,才能运行下一道,本质上还是串行执行,资源利用率依然很低。


二、批处理阶段:让计算机 “批量干活”

手工操作的效率实在太低,于是人们发明了批处理:把多个任务打包交给计算机,让它自动按顺序处理,减少人工干预。

1. 单道批处理:“一个接一个” 的流水线

  • 逻辑:内存中一次只放一道程序,运行完再自动加载下一道,全程由监督程序控制。

  • 痛点:和脱机 I/O 一样,程序串行执行,CPU 还是会因为等待 I/O 操作(比如读磁带、打印)而空闲,资源利用率依然上不去。

2. 多道批处理:操作系统的 “第一次革命”(常考点!)

这是现代操作系统并发思想的雏形,也是考试和面试的高频考点!

  • 核心逻辑:内存中同时驻留多道相互独立的程序,当一道程序因为 I/O 等原因暂停时,CPU 立刻切换去运行另一道程序。

  • 核心特点

    • 多道:内存里同时装多个程序,互不干扰。

    • 并发:宏观上看,多个程序是并行运行的;微观上看,CPU 是串行交替执行它们的(和我们之前讲的并发概念完美对应)。

  • 实现技术:中断技术(让程序能被打断、切换)+ 多道程序设计技术(内存中管理多道程序)。

  • 优点

    • 多道程序并发运行,CPU 和设备的资源利用率大幅提升。

    • 系统吞吐量变大,单位时间能处理更多任务。

  • 缺点

    • 用户响应时间长:你提交任务后,得等前面的任务都处理完才能轮到自己,没法和计算机实时交互。

    • 没有人机交互功能:整个过程都是 “黑盒”,你没法中途修改、调试程序。


三、分时操作系统:终于实现 “人机交互自由”

多道批处理解决了资源利用率的问题,但用户只能 “交了任务就等”,体验极差。于是分时操作系统应运而生,让多个用户能同时和计算机交互。

  • 核心逻辑:以 “时间片” 为单位,把 CPU 的运行时间轮流分配给每个用户程序。每个用户程序只能运行一个时间片的时间,时间一到就被切换,轮到下一个用户程序。

  • 优点

    • 解决了人机交互问题:用户的请求可以被及时响应,能一边输入一边看结果,就像现在用电脑一样。

    • 允许多个用户同时使用同一台计算机:比如早期的大型机,能让几十个终端用户同时登录操作。

  • 缺点:不能优先处理紧急任务:所有用户的时间片都是平等分配的,没法给紧急任务插队的机会。


四、实时操作系统:为 “生死攸关” 的任务而生

有些场景下,计算机必须在严格的时间限制内完成关键任务,比如导弹制导、工业控制、医疗设备,分时系统的 “轮流分配” 就不够用了,于是有了实时操作系统。

  • 核心定义:为在严格时间限制内完成关键任务而设计的操作系统。

  • 两种类型

    • 硬实时操作系统:必须在绝对严格的时间内完成处理,超时就会导致严重后果,比如航天、工业控制场景。

    • 软实时操作系统:可以接受偶尔违反时间规定,不会造成致命后果,比如视频会议、在线直播的卡顿。

  • 核心特点

    • 确定性:响应时间可预测,不会出现随机延迟。

    • 可靠性:能长时间稳定运行,不会轻易崩溃。

    • 强时效性:优先保障关键任务的执行,哪怕其他任务被延迟也没关系。


五、其他类型:分布式 & 微机操作系统(了解即可)

  1. 分布式操作系统:把多台计算机通过网络连接起来,组成一个整体,用户使用时感觉就像在用一台计算机,能充分利用多台机器的资源。

  2. 微机操作系统:就是我们现在常用的 PC 操作系统,比如 Windows、macOS、Linux,兼顾交互性、多任务处理和通用性。


六、发展历程的底层逻辑:永远在解决 “资源利用率” 和 “用户体验” 的矛盾

回顾整个发展历程,你会发现操作系统的每一步迭代,都在平衡两个核心目标:

  1. 提升资源利用率:从手工操作到多道批处理,都是为了让 CPU、内存这些硬件不 “摸鱼”。

  2. 优化用户体验:从批处理到分时系统,都是为了让用户能更方便、实时地和计算机交互。

实时操作系统则是在特定场景下,优先保障 “时效性”,牺牲了一部分通用性;而现代操作系统,就是在这些目标之间找到了平衡,既有分时交互的体验,又有多道并发的效率,还能通过调度机制兼顾紧急任务。

Logo

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

更多推荐