操作系统发展史:从手工操作到分布式系统
引言任何技术的演进都是为了解决前人留下的痛点。操作系统的发展也不例外——它的每一步进化都在回答同一个问题“怎样才能让昂贵又稀缺的计算机资源得到更充分的利用”核心速览操作系统的演进主线解决人机速度矛盾 → 提高资源利用率 → 改善用户体验六个关键阶段手工操作 → 单道批处理 → 多道批处理 → 分时系统 → 实时系统 → 网络/分布式系统408 考试重点每个阶段主要解决什么问题、各自的优缺点、代表性技术术语第一阶段手工操作时代这是计算机的石器时代。程序员需要亲自操作物理开关和纸带程序员 → 人工装/取纸带 → 计算机运算 → 人工取结果工作流程程序员把程序打在纸带上走到机房人工把纸带装入输入机计算机开始运行运行完毕后人工取下打印结果下一个程序员才能开始致命缺陷人机速度矛盾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。后者是操作系统并发性的最早实现。分时系统和实时系统的区别仅仅是快吗不只是快慢的问题而是设计理念根本不同。分时系统追求公平性每个用户时间均等实时系统追求优先级紧急任务优先处理。分时系统的时间片轮转是排队制实时系统是急诊制。小结发展主线人机矛盾 → 提高利用率 → 改善交互 → 保障及时性 → 网络共享关键拐点多道批处理 操作系统正式诞生分时系统 人机交互的起点考试重点每个阶段的优缺点以及它解决了上一阶段的什么问题下一篇我们将深入操作系统的运行机制——内核态与用户态的区别、中断和异常的工作原理、以及系统调用的全流程剖析。