Appearance
1.2 操作系统的发展史
一、串行处理
20世纪40年代后期到50年代中期
处理机制
无操作系统
程序员通过操控控制台运行程序,控制台包括显示灯、触发器、某种类型的输入设备和打印机
程序通过输入设备(如卡片机阅读器)载入计算机
用户按顺序访问计算机
主要问题
调度。使用硬拷贝登记表来预订机器时间,登记时间与完成工作时间不一致,导致时间浪费或未完成工作。
启动时间。加载编译器、源程序,保存目标程序,加载目标程序,链接公用函数等,需要大量时间。
二、简单批处理系统
监控程序(Monitor)
对一批作业进行自动处理
内存中只能存放一道作业
处理过程
计算机操作员收集用户的作业按顺序组织成批,并将整个批作业放在输入设备上,供监控程序使用每个程序完成处理后返回到监控程序,同时监控程序自动加载下一个程序。
监控程序的功能
作业的自动连续
内存保护:保护监控程序所在的内存区域
定时器:防止某作业独占系统
特权指令:只能有监控程序执行的指令,如I/O指令
中断:早期计算机模型无此能力,可以使控制权的转移更加灵活
运行模式
用户模式(user mode):某些内存区域被保护而不能被用户使用,也不允许用户执行特权指令
内核模式(kernel mode):可执行特权指令及访问受保护的内存区域
处理机经常处于空闲状态
原因:I/O设备速度比处理器慢
小剧场
(读入一个作业,并存储到内存中的一部分。处理器执行监控程序中的指令)
处理器:呀,读入了一个作业。监控程序,我要从哪里开始执行呢?
监控程序:从这里,这是用户程序开始处。(分支指令)
处理器:好的好的。(开始执行用户程序中的指令)
(遇到一个结束指令或错误条件,处理器从监控程序中取下一条指令)
处理器:监控程序,我又要从哪里开始执行呀? (循环循环,不能让处理器偷懒!)
三、多道批处理系统
I/O设备相对于处理器而言速度太慢了,处理器仍然经常处于空闲状态。
处理器:好耶!又遇到I/O指令啦!我又可以休息好久呀!
(不许偷懒!等待I/O的时候可以去执行另一个用户程序!像资本家一样剥削你!)
扩充存储器,保存操作系统(常驻监控程序)和多个用户程序,当一个作业需要等待I/O时,处理器可以切换到另一个可能并不在等待I/O的作业。
两个程序的多道程序设计
三个程序的多道程序设计
多道程序设计示例
- 系统可用内存250MB(未被操作系统占用)
- 一个磁盘、一个终端、一台打印机
示例程序执行属性:
- 多道程序设计技术可以显著提高资源的利用率和系统吞吐量
多道批处理系统——简单批处理系统的改进
- 内存中同时存放多个作业
- 多个作业可并发执行
- 作业调度程序负责作业的调度
多道批处理系统的硬件支持
- I/O中断
- 直接存储器访问(DMA)
- …
多道批处理系统的特征
- 多道性、调度性、无序性、无交互能力
需要解决的基本问题
- 内存管理
- 处理机管理
- 作业管理
- I/O设备管理
- 文件管理
操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。
四、分时系统
多道程序设计允许处理器同时处理多个批作业,还可以处理多个交互作业。处理多个交互作业可以使得多个用户分享处理器的时间,因而该技术称为分时(time sharing)。
产生原因
人机交互、共享主机、方便上机
分时系统的特征
多路性、独立性、及时性、交互性
比较
批处理多道程序设计 | 分时 | |
---|---|---|
主要目标 | 处理器使用最大化 | 响应时间最小化 |
提交给操作系统的指令来源 | 作业中的作业控制语言指令 | 终端键入的命令 |
小剧场
操作系统:处理器去这里!
(处理器跑去干活)
系统时钟敲铃了!处理器停止干活。
操作系统:处理器去那里!
(处理器跑去干活)
系统时钟敲铃了!处理器停止干活。
操作系统:下一个下一个!
(处理器被迫海王,每一个用户都需要雨露均沾……)
(但是处理器的精力是有限的,n个用户每个用户只能得到它的1/n)
(那又怎样呢,处理器这么有活力可不能让它闲着!)
五、实时系统
概念
系统能够及时(即时)响应外部事件请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
分类
软实时系统 | 硬实时系统 |
---|---|
各个任务运行得越快越好,并不要求限定某一任务必须在多长时间内完成。 | 各任务不仅要执行无误而且要做到准时。 |
大多数实时系统是二者的结合。
应用领域
- 航空航天
- 军事
- 工业控制
实时系统的特征
实时性、可靠性、独立性、交互性