操作系统发展
1.操作系统发展
- OS从无到有,从简单到复杂,完善
- OS随着计算机硬件技术的发展而完善
- 为满足不同的需求,出现了多种类型的OS
2.操作系统发展过程
2.1 资源利用角度
- 为了提高计算机资源利用率和系统性能,从单道到多道。集中到分布,从专用到泛在
2.2 用户角度
2.3 技术角度
- 物理器件发展,CPU的位宽度(指令和数据),快速外存,光器件等,以及计算机体系结构的不断发展:单处理机、多处理机、多核、计算机网络。
2.4 OS的发展和计算机硬件技术、体系结构相关
- 第一代(1946-1955):真空管时代,无操作系统
- 第二代(1955-1965):晶体管时代,批处理系统
- 第三代(1965-1980):集成电路时代,多道程序设计
- 第四代(1980-至今):大规模和超大规模集成电路时代,分时系统。现代计算机正向着巨型、微型、并行、分布、网络化和智能化几个方面发展
3.操作系统发展
- 无操作系统
- 简单批处理系统
- 多道程序批处理系统
- 分时系统
- 实时系统
- 嵌入式系统
- 并行系统
- 分布式系统
4.操作系统发展过程
4.1 手工操作
-
ENIAC 计算机 运算速度:1000次每秒。数万个真空管,占地100平方米
- 没有程序设计语言(甚至没有汇编),更谈不上操作系统
- 程序员提前预约一段时间,然后到机房将他的插件版插到计算机里
- 期望着在接下来的时间中几万个真空管不会烧断,从而可以计算自己的题目
-
工作方式 :编程语言:机器语言 I/O:织带或卡片
- 缺点
- 用户独占全机,独占系统的全部硬件资源,设备利用率很低
- CPU等待用户:手工装入/卸取织带或卡片
-
早期计算机系统:50年代初,出现了穿孔卡片,程序写在卡片上然后读入计算机,但计算过程依然如旧
-
主要矛盾
- 人机矛盾:人工操作方式与机器利用率的矛盾
- CPU与I/O速度不匹配的矛盾
-
提高效率的途径
-
脱机I/O方式:I/O工作在外围机/卫星机的控制下,或者说在脱离主机的情况下运行。使用磁带作为输入/输出的中介,这种具体的输入/输出不需要在主计算机上进行的方式叫脱机输入输出方式。
- 输入设备--外围机--磁带--主机--磁带--外围机--输出设备
4.2 单道批处理系统
4.3 多道程序批处理系统
-
多道程序设计 :60年代中--70年代中(集成电路)
-
多道
- 内存中同时存放几个作业,使之都处于执行的开始点和结束点之间多个作业共享CPU,内存,外设等资源
-
目的
-
60年代通道和终端技术的出现解决了输入输出等待计算的问题
-
通道
-
中断
- 指主机接到外界来的信号(来自CPU内部或外部)时,立即中止原来的工作,转去处理这一外来事件,处理完后,主机又回到原来工作点继续工作
-
内存中同时有多个作业,CPU在其中切换
-
只要系统中总是存在可执行的作业,CPU就永远不会因无事可干而闲着
-
多道通过组织作业使得CPU总在执行其中一个作业,从而提高了CPU的利用率
-
运行特征
- 多道性:内存中同时驻留多道程序并发执行,从而有效的提高了资源利用率和系统吞吐量
- 无序性:作业的完成顺序与它进入内存的顺序之间无严格的对应关系
- 调度性:作业调度,进程调度
-
优点
- 资源利用率高:CPU ,内存 ,I/O设备
- 系统吞吐量大
-
缺点
-
多道程序对OS特点的要求
- 存储管理:系统必须为若干作业分派空间
- CPU调度:系统必须在就绪作业中挑选
- 资源竞争与共享
- 设备分配
- 系统提供I/O程序
- 文件管理
4.4 分时系统
-
在多道的基础上用户的新需求
-
70年代中期至今
-
分时是指多个用户分享使用同一台计算机,分时共享硬件和软件资源
-
分时系统--交互式计算实现方式
- 多个用户分时:单个用户使用计算机的效率低,因而允许多个应用程序同时在内存中,分别服务于不同的用户。有用户输入时由CPU执行,处理完一次用户输入后程序暂停,等待下一次用户输入--是走时停
- 前台和后台程序:后台程序不占用终端输入输出,不与用户交互,现在的图形用户界面(GUI),除当前交互的程序(输入焦点外),其他程序作为后台。
-
通常按时间片(time slice)分配:各个程序在CPU上执行的轮换时间
-
作业直接进入内存
-
每个作业一次只运行很短的时间
-
分时技术:把CPU 的响应时间分成若干个大小相等(或不等)的时间单位,称为时间片(如100毫秒),每个终端用户获得CPU(获得一个时间片)后开始运行,当时间片到,该用户程序暂停执行,等待下一次运行。
-
分时系统的特点
- 人机交互性好
- 共享主机:多个用户同时使用
- 多路性:众多联机用户可以同时使用一台计算机
- 独占性:各终端用户感觉到自己独占了计算机
- 交互性:用户与计算机之间可进行会话
- 及时性:用户的请求能在很短时间内获得响应
-
在分时系统的基础上,操作系统的发展开始分化,如实时系统,通用(桌面)系统,网络系统,分布式系统。
操作系统发展
原文:https://www.cnblogs.com/mx-info/p/14235008.html