操作系统概述
发展历史
用户需求提升和硬件技术的进步驱动操作系统的发展。
硬件的四个发展阶段
- 电子管时代【1946-1955】
- 晶体管时代【1955-1965】
- 集成电路时代【1965-1980】
- 大规模集成电路时代【1980-至今】
速度、容量、稳定性、可靠性得到逐步的提升。
操作系统的四个发展阶段
- 手工处理操作,50年代早期
- 单道批处理时代
- 多道批处理时代
- 分时系统
手工操作(电子管时代)
结构特点
- 硬件:电子管、接线面板(按钮、开关)
- 程序:二进制程序,打孔:纸带或者卡片存储。
使用特点
程序的准备启动与结束,全部为手工操作,繁琐耗时。
缺点
- 效率极低(CPU运行效率低)
- 用户独占(单用户模式)
- 缺少交互
单道批处理系统
工作特点
- 管理员事先将多个作业输入到磁盘形成作业队列
- 操作系统依次自动地处理队列中的每个作业
- 自动完成执行过程
- 运行结束,通知用户结果
批量:作业队列;自动:识别作业,装入和撤出;单道:依次、串行
执行流程
CPU的利用情况
用户程序在发出IO请求后,操作系统会去调用相应的IO命令,然后执行IO操作,IO操作完成之后,又通过OS将数据返回给CPU,继续执行下一步程序,在进行IO操作的时候,CPU是处于空闲的状态的。
结论:外设与CPU交替空闲和忙碌,CPU和外设的利用效率低。
我们能不能在CPU空闲的时候,让用户的其他程序来使用CPU?进而提高效率?答案是可以——多道批处理系统
多道批处理系统
机制
在内存中存放多道程序,当某个程序因某些特殊的原因放弃CPU(IO操作等)时,操作系统便从内存中调用另一个程序装入CPU继续运行,尽量让CPU处于忙碌状态,进而提高系统效率。
提高了CPU的使用效率
提高了吞吐量
特点
- 多道:内存同时存储多道程序
- 并行:宏观上
- 串行:微观上
缺点
- 作业时间长
- 交互能力差(运行过程中,用户无法交互)
- 运行过程不确定(一个程序退出CPU后需要等待CPU空闲)
分时技术与分时操作系统
中断技术
CPU收到外部信号(中断信号)后,停止当前工作,转去执行该外部事件,处理完毕后,回到原来的工作中断处继续执行原来工作。
通道技术
专门处理外设与内存之间的数据传输的处理机。
多终端计算机
高性能主机+多个终端
主机的硬件配置高,终端机负责输入和显示程序结果。
主机采用分时技术轮流为每个终端提供服务,每个终端都感觉自己“独占”主机。
分时技术
主机以一个很短时间片为单位,轮流把CPU分配给终端使用,直到所有的作业执行完毕。由于时间片(比如50ms)短,在终端的数量不多的情况下,每个终端很快都会重新得到CPU ,使得每个终端可以得到及时的响应。
等待时间 = 时间片 * 终端数量
特点
- 多路调制性:多个用户联机使用一台计算机
- 独占性:用户感觉自己独占计算机
- 交互性:及时响应用户的请求
大型分时系统的实践: Multics项目
■1962年由ARPA支持:有MIT、BELL和G.E参与。
■开发一种“公用计算服务系统"
■MULTiplexed Information and Computing Service
■同时支持波士顿地区所有分时用户
UNIX
- 第一个实用化的分时操作系统
- 第一个真正体现操作系统领域各种先进概念和技术的操作系统
- 操作系统可移植
- 实现硬件无关
- 引进特殊文件的概念:把外设看成文件,实现统一管理
- 启发Windows等
典型操作系统
微机操作系统
大规模的集成电路发展,进入个人计算机时代
良好的层次结构:BIOS把操作系统和硬件分隔
易学易用
CPM操作系统、Mac OS 、微软MS DOS(磁盘操作系统,单用户单任务)
网络操作系统
普通操作系统+网络通信+网络服务
功能:
- 存取控制
- 透明存取
实时操作系统
硬实时系统&软实时系统
实时事务:军工,工业控制等
要求某些任务要优先紧急处理。
强调作业的完成时限。
嵌入式操作系统
嵌入式操作系统≈实时操作系统
软硬件可裁剪,软硬件一体化
比如:安卓、Linux(嵌入式)、usOs、WinCE等。