目录
相关概念:
一、手工操作阶段
二、脱机输入/输出阶段
(1)脱机输入技术
(2)脱机输出技术
三、单道批处理阶段
四、多道批处理阶段
五、分时技术产生
六、实时系统产生
相关概念:
① 作业:指用户程序 及其 所需数据和相关 操作命令的 集合。
② 系统吞吐量:单位时间 内完成的 总工作量。
③ 平均周转时间长:从 作业被 提交到系统 开始,到作业完成为止的这段 时间间隔。
④ 单道程序:主存 储器中只 存放一个程序。当该程序发生 某种条件等待时,CPU暂停当前程序 的运行,处于 空闲状态。
⑤ 批处理:将 作业组织 成批,依次 将该 批作业的 所有信息全部 输入计算机,计算机 按照作业 进入的先后 顺序依次 自动执行。
⑥ 时间片:一段很短 的时间( e.g. 30ms )。
一、手工操作阶段
第一代计算机并没有操作系统,也没有任何软件,用户 直接用 机器语言和符号 语言编制程序,并在上机时独占 全部计算机资源。那时构成计算机的主要元件是电子管,计算机的 运算速度只有 几千次 / 秒,速度很慢。那时的用户既是程序员又是 操作员,上机完全是手工操作。
操作员先把 装有程序和数据的 纸带(或卡片)装上输入机,接着 通知输入 设备接受卡片,输入的程序 放在 存储器的某个具体位置,紧接着通知 运算器 运行程序并处理数据。计算完毕,通知输出设备 打印机 输出结果。用户取走并卸下 纸带(或卡片)。
第二个程序 上机,依次执行上述过程。操作员 通过控制台 的各种开关 来指挥 以上各个部分的运行。这个时期 只有操作员才 能实现对计算机 的控制。
存在的几个突出问题:
(1)用户独占全机。一台计算机 的所有 资源都 归一个用户 独占,造成 资源浪费。
(2)用户必须 熟悉计算机的 各个部分细节。用户 既是 操作员又是程序员,要求用户要熟悉计算机内部的每个细节,操作员是非常专业的,只有他们才能对计算机实行控制。
(3)等待 人工操作。操作员的 手动速度 永远无法与 计算机的 速度相比,当用户 进行装卸纸带(或卡片)等手工操作时,机器是 空闲的,降低了 CPU 的使用 效率。
二、脱机输入/输出阶段
输入/输出操作在 主机控制下进行则称为 联机输入 / 输出。采用脱机 输入 / 输出 技术后,低速I/O 设备上数据的 输入 / 输出 都在外围机的控制下进行,而 CPU只与高速的 磁带机打交道,从而有效地 减少了 CPU 等待慢速设备 输入 / 输出 的时间。
(1)脱机输入技术
为 解决低速输入设备与 CPU 速度 不匹配的问题,可以将 用户程序和 数据在一台 外围机(又称卫星机 )的控制下,预先从 低速输入设备输入 到磁带上,当 CPU需要 这些程序和数据时,再 直接从磁带机高速输入到 内存,从而 大大加快了 输入的速度,减少了 CPU 等待 输入的 时间。
(2)脱机输出技术
当程序运行完毕或告一段落,CPU 需要输出时,只需 高速地把结果送到磁带上,然后在 外围机的控制下,把 磁带上的计算结果 由相应的输出 设备输出。
三、单道批处理阶段
20世纪50年代 早期,为了尽量 减少计算机运行中的人工干预,提高CPU的利用率,人们 设想使 用户程序在 运行完成后 自动过渡到 另一个用户程序,实现程序运行 的自动化。这不仅 可以克服手工操作的 缺点,实现了 作业自动过渡,还改善了 主机、CPU 和 输入 / 输出 设备的使用情况,提高了 计算机系统的 处理能力。
早期 批处理系统中,操作员把 用户提交的若干个作业,有选择的 合成一批,按先后 次序通过输入设备(纸带输入机或读卡机)读入 内存缓冲区,再存到 磁带上。然后在监督程序的监督下从磁带 读入一个作业,通过 汇编程序和编译程序,将一个 用户作业翻译成 目标代码,开始处理。处理完后又 读入下一个作业,直至 处理完磁带上的 所有作业。由于 系统对作业的 处理都是 分批进行的,且内存中始终只 保持一个作业,故称为 单道批处理。
工作过程描述:
① 操作员将 收到的一批作业信息 存入 辅助存储器中 等待处理。
② 单道批 处理操作 系统从 辅助存储器中 依次选择 作业,按其 作业说明书的 规定 自动控制它的 运行,并将 运行结果 存入 辅助存储器。
③ 操作员 将该 批作业的运行结果 打印输出,并分 发给用户。
问题:
当系统内只有 一道程序工作时,计算机 系统的各部件不一定能 并行操作,它们的效能没有 得到 充分发挥。
特点:
① 单路性:每次只 允许一个用户程序 进入内存。
② 独占性:整个系统 资源被 进入内存的一个 程序 独占使用,因此 资源利用率 不高。
③ 自动性:作业 一个一个地 自动接受处理,期间 任何用户 不得对系统的 工作进行干预。由于 没有了作业上、下机 时用户 手工操作 耗费的时间,提高了系统的 吞吐量。
④ 封闭性:在一批作业 处理过程中,用户 不得干预系统的工作。即便 是某个程序执行中出现 一个很小的错误,也只能 等到这一批作业全部 处理完毕后,才能 进行修改,这给用户带来 不便。
四、多道批处理阶段
不管 是脱机处理,还是早期批处理,它们都是 单道顺序的执行过程,即 一个用户程序执行完毕,才 允许启动另一个 用户程序。这种系统经常出 现资源使用不充分 和 不均衡的现象,影响了系统的 效率。
于是人们想到在 内存中驻留几道 程序,当一个程序 因某种原因不能执行而 暂停时,能将另一道程序 投入运行,使 硬件资源得到充分利用。于是出现了 多道程序技术。
多道程序设计技术 是指 在内存中 驻留多个作业,外存中存放的作业 形成等待队列。 当某作业处理结束 或因某种 原因不能运行时,系统 根据一定的 调度原则从 外存中调入 几个作业进入 内存,让它们 交替进行,使得处理机 充分利用。
通道,实质是一台功能单一、结构简单的 I/O 处理机,它独立于 CPU,并 直接控制 外部设备与 主机之间的 信息传送。当需要进行 I/O 时,CPU 启动通道,之后 CPU 继续执行 其他程序,通道就可以 独立工作。
通道 执行通道程序,完成 外部设备的启动、关闭以 及信息传输 等操作;在传送规定的数据后,它才向 CPU 发出一次中断请求,CPU 终止正在运行的程序,进行中断处理,处理完后,返回中断点 继续工作。
这种 处理方式在单处理机 系统中,从微观上来看只能 交替运行,而 宏观上可以认为它们是 并行的。将 多道程序技术 引入批处理系统 就形成了一个 多道批处理系统。
上图中,用户程序 A 首先在处理机上运行,当它 需要输入数据时,系统为它启动 输入机进行输入工作,并调度 用户程序 B 开始运行。当程序 B 请求输出时,系统又 启动相应 的外部设备进行工作。当程序 A 的 I/O 处理结束时,程序 B 仍在CPU上运行,则程序 A 等待,直到程序 B 计算结束 请求输出时,才转入程序 A 的执行。
工作过程描述:
① 操作员将收到的 一批作业信息存入 辅助存储器 中等待处理。
② 多道批 处理 操作系统 中的 作业调度程序从 辅助存储器 里的该 批作业中选出 若干合适的作业 装入内存,使它们 不断地 轮流占用 CPU 来执行,使用各自 所需的 外部设备。若内存中有 作业运行结束,再从 辅助存储器 的后备作业 中选择 对象装入 内存执行。
③ 操作员 将该 批作业的运行结果 打印输出,分发给 用户。
特点:
① 多道性:计算机 内存中 同时存放 几道相互独立的 程序。
② 并行性:同时 进入系统的几道程序都 处于运行过程中,即 它们都 开始运行,但 都未运行 完毕。从而有效 地提高了 资源利用率和系统的 吞吐量。
③ 串行性:从微观 上看,主存中的 多道程序轮流 或 分时地 占有处理机,交替 执行。
④ 无序性:多道 程序执行的 先后顺序 与 它们进入 内存的 时间无 严格的 对应性,也许先进入 内存的程序 后完成,而后 进入内存 的程序先 完成。
现代计算机上的批处理系统,多为 多道批处理系统。
五、分时技术产生
20世纪60年代 中期,主机速度的 不断提高,使 一台计算机同时为多个终端用户服务成为可能。采用 分时技术,使 每个终端用户 在自己的 终端设备上 都以 联机方式 使用计算机, 好像自己 独占机器一样。
分时技术,就是把处理机时间 划分成很短的 时间片 轮流地分配给 各个用户程序使用,如果某个 用户程序在分配的 时间片用完之前 还未完成计算,该程序就 暂停执行,等待 下一轮继续计算,此时 处理机让给 另一个用户程序使用。这样,每个用户 的各次要求都能得 到快速响应,给每个用户的印象是 独占一台计算机。
特点:
① 多路性:在一台 主机上 连接多个 用户终端。从 宏观上看,多个 用户同时 工作,共享系统的 资源;从 微观上看,各终 端程序 是轮流 使用一个 时间片的。多路性 提高了 系统资源的 整体利用率。
② 交互性:用户在 终端上 能随时 通过 键盘与 计算机 进行 “ 会话 ” ,从而 获得系统的 各种服务,并控制 作业程序的 运行。交互性 使用户 能随时 掌握自己作业 程序的 执行情况,为 用户调试、修改以及控制 程序的 执行提供了 极大的便利。
③ 独立性:每个用户 在自己的 终端上 独立操作,互不干扰,感觉 不到其他 用户的存在,就如同自己 “ 独占 ” 该系统似的。
④ 及时性:用户程序轮流执行 CPU 的一个 时间片,但 由于计算机的 高速处理能力,能保证在较短 和可 容忍的时间内,响应 和 处理用户请求。
六、实时系统产生
其主要特征,是将时间作为 关键参数,它必须对所接受的某些信号做出 “ 及时 ” 或 “ 实时 ”的反应。由此得知,实时系统是指 系统能及时 响应外部事件 的请求,在规定 的时间内 完成对该事件的 处理,并控制 所有事实 任务协调一致 地运行。
实时系统的 响应时间是由被控对象的要求决定的,一般要求秒级、毫秒级、微秒级甚至更快的响应时间。
类型:
① 工业(武器)控制系统。
② 信息查询系统。
③ 多媒体系统。
④ 嵌入式系统。
特点:
① 实时性:分时系统的 “ 及时性 ” ,是一种 在用户可以 容忍的时间内响 应用户 请求的时间性能。对 于实时系统而言,这种 及时性应该表现为 更高,对外部事件 信号的 接收、分析处理 以及 给出 反馈信号 进行控制,都必须在 严格的 时间限度内 完成。因此,这时的 及时性称为 “ 实时性 ” 。
② 可靠性:无论 是 实时控制系统 还是 实时信息 处理系统,都必须有 高度的 可靠性。例如 对于后者,计算机 在接收到 远程终端 发来的服务请求 后,系统 应该根据 用户提出的 问题,对信息 进行 检索 和 处理,并在有限的时间内 做出正确的 回答。