操作系统的发展_多道程序

无操作系统阶段

操作系统的发展_批处理系统_02


在第一代计算机时期,计算机没有操作系统,甚至没有任何软件,人们采用手工操作方式操作计算机。在手工操作方式下,用户一个接一个地轮流使用计算机,每个用户的使用过程大致如下:先将程序纸带(或卡片)装入输入机,然后启动输入机把程序和数据送入计算机,接着通过控制台开关启动程序运行,当程序运行完毕后,由用户取走纸带和结果。

这个阶段有两个突出的缺点:

  1. 用户独占全机,不会出现因资源已被其他用户占用而等待的现象,但 资源利用率低
  2. CPU 等待手工操作,CPU 的利用不充分

随着 CPU 速度的大幅提高,手工操作的慢速与 CPU 运算的高速之间出现了矛盾,这就是所谓的 人机矛盾

为了缓和此矛盾,后来出现了 通道技术缓冲技术 ,但都未能很好地解决上述矛盾,直到后来引入 脱机输入/输出技术 。该技术是为了解决 CPU 和 I/O 设备之间速度不匹配的矛盾而提出的,此技术减少了 CPU 的空闲等待时间,提高了 I/O 速度。


操作系统的发展_多道程序

单道批处理系统

操作系统的发展_批处理系统_02


单道批处理系统 是最早出现的一种操作系统。该系统对作业的处理是成批进行的,但内存中始终保持一道作业,即把一批作业以脱机输入方式输入到磁带上,并在系统中配置监督程序(管理作业的运行,负责装入和运行各种系统程序来完成作业的自动过渡),在其控制下,先把磁带上的第一个作业传送到内存,并把运行的控制权交给第一个作业,当第一个作业处理完后,又把控制权交还给监督程序,由监督程序再把第二个作业调入内存。计算机系统按这种方式对磁带上的作业自动地一个接一个进行处理,直至把磁带上的所有作业全部处理完毕。

单道批处理系统是在解决人机矛盾及 CPU 和 I/O 设备速率不匹配的矛盾中形成的。

单道批处理系统的主要特征如下:

  1. 自动性。在顺利的情况下,无须人工干预。
  2. 顺序性。磁带上的各道作业顺序地进入内存,各道作业的完成顺序与它们进入内存的顺序在正常情况下应完全相同。
  3. 单道性。内存中仅有一道程序运行,即监督程序每次从磁带上只调入一道程序进入内存运行,当该程序完成或发生异常情况时,才换入其后继程序进入内存运行。

操作系统的发展_多道程序

多道批处理系统

操作系统的发展_批处理系统_02


为进一步提高 CPU 的利用率,引入了多道程序设计技术,由此而形成了 多道批处理系统 。多道程序设计技术是“将一个以上的作业存放在主存中,并且同时处于运行状态。这些作业共享处理器、外设以及其他资源”。现代计算机系统一般都基于多道程序设计技术。

多道程序设计技术允许多个程序同时进入内存并允许它们在 CPU 中交替地运行,这些程序共享系统中的各种硬软件资源。当一道程序因 I/O 请求而暂停运行时,CPU 便立即转去运行另一道程序。

多道批处理系统的特点如下:

  1. 多道。计算机内存中同时存放多道相互独立的程序。
  2. 宏观上并行。同时进入系统的多道程序都处于运行过程中,即它们先后开始各自的运行,但都未运行完毕。
  3. 微观上串行。内存中的多道程序轮流占有 CPU ,交替执行。
  4. 资源利用率高。使多道程序交替运行,以保持 CPU 处于忙碌状态;在内存中装入多道程序可提高内存的利用率;此外还可以提高 I/O 设备的利用率。
  5. 系统吞吐量大。 CPU 和其他资源保持忙碌状态;仅当作业完成时或运行不下去时才进行切换,系统开销小。
  6. 平均周转时间长。因为作业要排队依次进行处理。
  7. 无交互能力。

操作系统的发展_多道程序

分时操作系统

操作系统的发展_批处理系统_02


分时技术是指把处理器的运行时间分成很短的时间片,按时间片轮流把处理器分配给各联机作业使用。

若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时停止运行,把处理器让给其他作业使用,等待下一轮再继续运行。由于计算机速度很快,作业运行轮转得也很快,因此给每个用户的感觉就像是自己独占一台计算机。

分时系统的主要特征如下:

  1. 多路性。指一台计算机与若干台终端相连接,终端上的这些用户可以同时或基本同时使用计算机。
  2. 独立性。由于分时操作系统采用时间片轮转的方法使一台计算机同时为许多终端用户服务,因此客观效果是这些用户彼此之间都感觉不到别人也在使用这台计算机,好像自己独占计算机一样。
  3. 及时性。系统能够在较短时间内响应用户请求。
  4. 交互性。分时操作系统中用户的操作方式是联机方式,即用户通过终端采用人机会话的方式直接控制程序运行,同程序进行交互。

操作系统的发展_多道程序

实时操作系统

操作系统的发展_批处理系统_02


实时操作系统 是操作系统的又一种类型。对外部输入的信息,实时操作系统能够在规定的时间内处理完毕并做出反应。“实时”的含义是指计算机对于外来信息能够以足够快的速度进行处理,并在被控制对象允许的时间范围内做出快速反应。


操作系统的发展_多道程序

嵌入式操作系统

操作系统的发展_批处理系统_02


嵌入式操作系统 是运行在嵌入式系统环境中,对整个嵌入式系统以及它所操作和控制的各种部件装置等资源进行统一协调、调度、指挥和控制的软件系统。


操作系统的发展_多道程序

集群系统

操作系统的发展_批处理系统_02


集群系统 将两个或多个独立的系统耦合起来,共同完成一项任务。集群通常用来提供高可用性,比如集群中某个节点失效,其他节点可以迅速接替其工作,使用户感觉不到服务中断。


操作系统的发展_多道程序

网络操作系统

操作系统的发展_批处理系统_02


网络操作系统 是通过通信设施将物理上分散的、具有自治功能的多个计算机系统互连起来的,实现信息交换、资源共享、可互操作和协作处理的系统。


操作系统的发展_多道程序

分布式操作系统

操作系统的发展_批处理系统_02


分布式系统是指多个分散的处理单元经互联网络连接而成的系统,其中每个处理单元既具有高度自治性又相互协同,能在系统范围内实现资源管理、动态分配任务,还能并行地运行分布式程序。

配置在分布式系统上的操作系统称为 分布式操作系统

分布式操作系统具有以下特征:

  1. 统一性。即它是一个统一的操作系统。
  2. 共享性。即分布式操作系统中的所有资源是共享的。
  3. 透明性。是指用户并不知道分布式操作系统是运行在多台计算机上,在用户眼里整个分布式系统像是一台计算机,用户并不知道自己请求系统完成的操作是哪一台计算机完成的,也就是说,系统对用户来讲是透明的。
  4. 自治性。即分布式操作系统中的多个主机都处于平等地位。

参考文献:

[1] 王道论坛组, 2021年操作系统考研复习指导, 北京:电子工业出版社, 2020.

[2] 刘泱 等, 操作系统高分笔记:2022版:天勤第10版, 北京:机械工业出版社, 2020.