发展阶段

无操作系统时代(40 年代 — 50 年代中期)

  • 人工操作,无 OS,用户独占全机
  • 程序通过打卡(纸带/卡片)输入
  • 问题:CPU 高速计算 vs 人工低速 I/O,CPU 大部分时间在等待,资源利用率极低
  • 关键驱动:ENIAC(1946 年)弹道科学计算需求

单道批处理时代(50 年代)

  • 监督程序 Monitor 出现:OS 雏形,常驻内存,代替人工 I/O
  • 自动性:一批任务预先装好,Monitor 依次自动启动
  • 单道:每次仍只执行一个任务,无并发性
  • 核心概念:作业(Job)、作业步(Job Step)、作业控制语言(JCL)
  • 特征:自动性、顺序性、单道
  • 缺点:无共享能力,不是真正意义上的 OS(本质区别:无并发性
  • 关键驱动:减少人工干预,提高自动化程度

多道批处理时代(60 年代初)

  • 硬件基础:通道技术、磁盘技术、中断技术
  • 核心思想:内存中同时加载多个作业,CPU 交替执行
  • 关键技术
    • Buffer(缓冲):CPU 直接从 buffer 取数据,无需等待慢速 I/O
    • 通道(Channel):专用 I/O 处理机,负责内存和外存间的数据交换
    • 中断(Interrupt):I/O 完成后主动通知 CPU,CPU 可干别的事
    • SPOOLing:把磁盘作为大缓冲区,慢速设备→磁盘→内存→CPU
  • 宏观并行(多任务同时推进),微观串行(单 CPU 交替执行)
  • OS 两大基本特征在此产生:并发(Concurrency)和共享(Sharing)
  • 优点:资源利用率更高、吞吐量更大
  • 缺点:平均周转时间变长、无交互能力
  • 多道程序设计引入进程概念:为描述程序并发执行的动态过程,引入进程(Process)作为资源分配和独立运行的基本单位

分时系统时代(60 年代)

  • 推动力:键盘、鼠标、显示器等交互终端出现
  • 定义:交互式系统 + 多道程序设计思想的结合
  • 原理:CPU 按时间片轮流服务于多个用户终端(时间片轮转)
  • 特征
    • 并发:多用户同时使用计算机
    • 共享:多任务共享主机资源
    • 交互性:用户通过终端与系统实时交互
    • 独立性:各终端互不干扰
    • 及时性:可接受响应时间内反馈
  • 关键驱动:人机交互需求增长

实时系统时代(60 年代)

  • 定义:强调反馈实时性,用于时间要求严格的场景
  • 典型场景:高铁控制、飞行控制、武器系统、医疗设备、银行系统
  • 特征
    • 实时性:时间分辨度高,能及时响应中断
    • 高可靠性:系统稳定性要求极高
    • 专用性:定制化系统
    • 多级中断机制:保障快速响应
    • 剥夺式调度:实时任务可无条件剥夺非实时任务的 CPU
  • 关键驱动:工业控制、航空航天等对时间约束的硬性要求

多方式(通用)操作系统时代(60-70 年代)

  • 兼具批处理、分时、实时功能的通用操作系统
  • 代表:Windows、Linux、UNIX
  • 多种操作系统模式并存发展

分布式/网络/多机系统时代(70 年代后)

  • 分布式系统:多机协同,资源共享,支撑云平台、大模型运算
  • 网络系统:远程通信与资源共享
  • 多机系统:多处理器架构,并行调度
  • 关键驱动:网络技术发展、算力需求增长

发展趋势

  • 虚拟化、云计算、嵌入式(鸿蒙/iOS)、物联网、AI 异构算力协同
  • AI 时代 OS:交互方式向意图理解发展,核心角色从资源管理向任务规划演进