发展阶段
无操作系统时代(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:交互方式向意图理解发展,核心角色从资源管理向任务规划演进