首页 理论教育操作系统的形成与发展:2019版高分笔记

操作系统的形成与发展:2019版高分笔记

【摘要】:操作系统是由客观需要而产生的,它随着计算机技术本身及其应用的发展而逐渐发展和不断完善。操作系统是一组控制和管理计算

操作系统的发展过程其实和早期人们遇到的问题有很大关系,比如,为解决处理器和设备的速度矛盾而提出了脱机输入/输出技术,为了减少人为干预而产生了批处理技术等,由此可见,操作系统的发展是对早期计算机系统问题非常自然的解决方式。

操作系统是由客观需要而产生的,它随着计算机技术本身及其应用的发展而逐渐发展和不断完善。与计算机发展过程相对应,操作系统也经历了如下发展过程:无操作系统阶段(手工操作与脱机输入/输出)、单道批处理系统和多道批处理系统(多道程序设计)。

1.无操作系统阶段

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

由此可以推断,这种操作方式具有用户独占计算机资源、资源利用率低以及CPU等待等人工操作的特点。

随着CPU速度的大幅提高,手工操作的慢速与CPU运算的高速之间出现了矛盾,这就是所谓的人机矛盾。此外,CPU和I/O设备之间速度不匹配的矛盾也日益突出。为了缓和此矛盾,先后出现了通道技术和缓冲技术,但都未能很好地解决上述矛盾,直到后来引入脱机输入/输出技术,才获得了较为满意的效果。

脱机输入/输出技术是为了解决CPU和I/O设备之间速度不匹配的矛盾而提出的,此技术减少了CPU的空闲等待时间,提高了I/O速度。其输入/输出方式如图1-3所示。

为解决低速输入设备与CPU速度不匹配的问题,可以将用户程序和数据在一台外围机(又称卫星机)的控制下,预先从低速输入设备(纸带机)输入到输入带上,当CPU需要这些程序和数据时,再直接从输入带高速输入到内存,从而大大加快输入速度,减少CPU等待输入的时间,这就是脱机输入技术。

978-7-111-58866-5-Chapter01-4.jpg

图1-3 脱机输入/输出技术示意图

类似地,当程序运行完毕或告一段落,当CPU需要输出时,无须直接把计算结果送至低速输出设备(图1-3中为打印机),而是高速地把结果送到输出带上,然后在外围机的控制下,把磁带上的计算结果由相应的输出设备输出,这就是脱机输出技术。

若输入/输出操作在主机控制下进行,则称为联机输入/输出。

采用脱机输入/输出技术后,低速I/O设备上数据的输入/输出都在外围机的控制下进行,而CPU只与高速的输入带及输出带打交道,从而有效地减少了CPU等待慢速设备输入/输出的时间。

详细说明本方法的目的在于使考生了解脱机输入/输出的模型,因为之后的缓冲区技术以及SPOOLing技术等,都是基于这种原理产生的。理解了这个模型,对之后学习类似技术有较大的帮助。

2.单道批处理系统

单道批处理系统是最早出现的一种操作系统,严格地说,它只能算作是操作系统的前身而并非是现在人们所理解的操作系统。

早期的计算机系统非常昂贵,为了能充分利用,应尽量使系统连续运行,以减少空闲时间。为此,通常是把一批作业以脱机输入方式输入到磁带上,并在系统中配置监督程序(管理作业的运行,负责装入和运行各种系统程序来完成作业的自动过渡),在其控制下,先把磁带上的第一个作业传送到内存,并把运行的控制权交给第一个作业,当第一个作业处理完后又把控制权交还给监督程序,由监督程序再把第二个作业调入内存。计算机系统按这种方式对磁带上的作业自动地一个接一个进行处理,直至把磁带上的所有作业全部处理完毕,这样便形成了早期的批处理系统。

图1-4给出了单道批处理系统工作示例。

978-7-111-58866-5-Chapter01-5.jpg

图1-4 单道批处理系统工作示例

从图1-4中可以看出,每当程序发出I/O请求时,CPU便处于等待I/O完成的状态,致使CPU空闲。

单道批处理系统主要有如下特点:(www.chuimin.cn)

●自动性。在顺利的情况下,在磁带上的一批作业能自动地依次运行,而无需人工干预。

●顺序性。磁带上的各道作业顺序地进入内存,各道作业的完成顺序与它们进入内存的顺序在正常情况下应完全相同,亦即先调入内存的作业先完成。

●单道性。内存中仅有一道程序运行,即监督程序每次从磁带上只调入一道程序进入内存运行,当该程序完成或发生异常情况时,才换入其后继程序进入内存运行。

3.多道批处理系统

为进一步提高CPU的利用率,引入了多道程序设计技术,由此而形成了多道批处理系统。

多道程序设计技术是“将一个以上的作业存放在主存中,并且同时处于运行状态。这些作业共享处理器、外设以及其他资源”。现代计算机系统一般都基于多道程序设计技术。图1-5给出了多道程序工作示例。

978-7-111-58866-5-Chapter01-6.jpg

图1-5 多道程序工作示例

在单处理器系统中,多道程序运行的特点如下:

●多道。计算机内存中同时存放多道相互独立的程序。

宏观上并行。同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕。

●微观上串行。实际上,内存中的多道程序轮流占用CPU,交替运行。

多道程序设计技术能有效提高系统的吞吐量和改善资源利用率。但实现多道程序系统时,由于主存中总是同时存在几道作业,因此还需要妥善解决下述一系列问题。

●如何分配处理器,以使处理器既能满足各程序运行的需要又有较高的利用率;将处理器分配给某程序后,应何时收回等问题。

●如何为每道程序分配必要的内存空间,使它们各得其所又不致因相互重叠而失去信息;如何防止因某个程序出现异常情况而破坏其他程序。

●系统中可能有多种类型的I/O设备供多道程序共享,应如何分配这些I/O设备;如何做到既方便用户对设备的使用,又能提高设备的利用率。

●在计算机系统中,通常都存放着大量的程序和数据,应如何组织它们才能便于用户使用并能保证数据的安全性和一致性。

●对于系统中的各种应用程序,它们有的属于计算型,有的属于I/O型,有的作业既重要又紧迫,有的作业要求系统能及时响应,这时应如何组织这些作业。

4.操作系统的形成

为了解决上述问题,应在多道程序系统中增设一组软件,用这组软件对上述问题进行妥善有效的处理。此外,还应提供方便用户使用计算机的软件,这样便形成了操作系统。

操作系统是一组控制和管理计算机硬件和软件资源,合理地组织计算机工作流程以及方便用户的程序的集合。