zhouqijie

概述-操作系统的发展


1. 手工操作阶段

第一代计算机中,由于计算机硬件由电子管构成,运算速度较慢,并且应用未普及,人们都是采用手工方式使用计算机。

操作员编写程序时使用的是机器语言,不仅要编写应用程序,还要考虑程序放在内存的哪个地方,数据放在哪个地方,程序从何处启动,以及如何使用外部设备等一系列问题。



2. 早期的批处理阶段

随着50年代晶体管计算机出现,操作系统的雏形-监督程序开始出现。这个阶段对于计算机的使用方式称为早期批处理方式,它被分为联机批处理脱机批处理

操作员把若干作业合成一批,监督程序把这一批作业从输入设备上逐个地输入到磁带上。输入完成后,监督程序逐个把它们装入内存,对其进行汇编或者编译,由装配程序把编译后的结果程序和子程序装配成目标,启动该目标程序,输出计算结果,完成作业的计算。
监督程序承担了输入输出设备的控制,使程序员编写应用程序时不必考虑外部设备复杂的使用细节,同时程序员从机器指令编程进入汇编阶段。

这种方式增加一台不与主机直接连接的简易计算机,称为卫星机。首先把输入机上的成批作业,通过卫星机逐个输入到输入磁带上面,以供主机调入内存运行,主机运行后的结果输出到输出磁带上,由卫星机再把输出磁带上的结果从打印机打印。
这样主机与外设的串行工作变成了并行,从而提高了主机效率。

无论联机批处理还是脱机批处理,这两种早期的批处理方式都是单道程序系统,也就是内存中只有一个程序存在。

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



3. 多道批处理系统阶段

多道批处理系统比早期的单道批处理系统先进许多,主要体现在多道程序设计环境所采用的相关技术。

通道、中断:

60年代出现了通道和中断机制。

通道实际上是一种速度较慢、价格较便宜、专门用于控制外部设备、能独立于CPU又与CPU并行工作的处理器。通道连接着内存和外设,具有向内存直接存取数据的能力。

一旦主机把输入输出任务交给通道后,通道与CPU并行工作,在输入输出结束或者发生故障时,相应的硬件向主机发送信号,主机马上停止正在执行的工作,而转而去执行为处理该信号而设置的中断处理程序

除了输入输出的中断之外,人们还引入了其他的中断,如时间、计算溢出、非法操作等。

执行程序:

在系统中,中断处理程序和输入输出控制程序对其他所有程序起着指挥和控制的作用,一般它们是常驻内存的。这些常驻内存的程序称为执行程序

执行程序和监督程序有区别。监督程序与其他程序之间是相互调用的关系,而执行程序对其他程序是一种控制关系。为了安全,其他程序只能通过规定的方式使用执行程序提供的功能。

多道程序设计:

正是由于通道和终端技术的出现,使得多个程序共享内存成为可能,输入输出设备和CPU可以并行工作,提高了计算机工作效率。多道程序设计的基本思想就是在内存中同时存放几道程序,它们交替执行。

例如CPU执行程序A时。如果遇到输出语句write()或者输入语句read(),就把输入或者输出任务交给通道去执行,同时CPU去执行程序B。当通道完成输入或输出任务时,产生输入输出结束的中断,正在执行B的CPU进入中断处理,然后返回继续执行B。

由此看来,多道程序设计充分利用CPU,并使计算机的其他资源如通道和通道控制的输入输出设备更好地并行运行。大大地提高了计算机系统的性能。

随着通道、中断和多道程序设计的应用,CPU的分时(Time-Sharing)也就应运而生了。这时的分时只是指某一时间段执行某道程序,只有它不具有执行条件,才放弃CPU,选择另一个程序执行。

并行、共享、分时是现代所有操作系统的特征,这些技术的引入大大增加了系统的复杂性。因为,它必须解决CPU的管理和调度,必须要解决内存分配、回收、扩充、保护,必须解决外部设备的共享、管理、使用。

多道批处理系统:

早期批处理一般是单用户、单道程序运行方式。而多道批处理系统有两个特点。

系统内可以容纳多个作业,这些作业存放在大容量外存中,形成一个后备作业队列。系统按照一定的策略从后备作业队列中挑选一个或者多个作业调入内存运行。作业的进入、运行、结束推出都由系统自动管理实现,在系统中形成一个连续的作业流。

用户预先要周密地考虑计算机如何运行自己的作业,用规定的语言书写成作业控制说明,并把计算机的程序、数据、作业控制说明一起交给操作员,操作员将这些信息输入到计算机然后由操作系统控制执行。
这是一种脱机的操作方式,用户和他的作业没有交互作用。作业一旦进入系统,用户就不能干预其作业的运行。

多道批处理系统允许同时在内存中有多个作业有哪些,这有利于提高资源利用率。增大吞吐量和作业流程的自动化。
但是批处理系统的主要问题是与用户不能交互。用户一旦把他的作业交给系统便失去了对自己作业的控制和修改能力。所以批处理系统一般用于运行常规调试好的程序(例如每天的计算机统计、分析程序)。

多道程序系统和分时技术的出现标志着操作系统渐趋成熟的阶段已经到来。人们在此基础上不断研究和开发了多种适合不同环境的操作系统。



4. 操作系统分类

根据操作系统在用户界面的使用环境和功能特征的不同,操作系统一般可以分为三种基本类型。即批处理操作系统分时操作系统实时操作系统
随着计算机体系结构的发展,又出现了许多种操作系统,包括嵌入式操作系统个人操作系统网络操作系统分布式操作系统

批处理操作系统:

现代操作系统大都具有批处理功能,其工作方式是:用户将作业交给系统操作员,系统操作员将许多用户的作业组成一批作业,之后输入计算机在系统中形成一个自动转接的连续作业流,然后启动操作系统,系统自动依次执行每个作业,最后操作员将作业结果交给用户。

分时操作系统:

分时操作系统是适应用户人机交互需要而出现的。

分时系统使用了多道程序设计的方法,他把主机CPU的时间划分为很多个小的时间单位,称为时间片,一般多为几十毫秒。在时钟中断机构的支持下。轮流把时间片分配给不同的用户,每道用户每次只运行一个时间片。

如果某个用户程序在时间片规定的时间内完成运行,操作系统就按一定的策略调用其他用户程序运行;如果某个用户程序当时间片用完时还未完成运行,那么该程序的运行就暂时挂起,等待下一轮再继续运行。计算机的硬件中断机构产生一个时钟中断,控制系统分时选择另一个用户运行。

由于时间片很短,所以系统上每个用户都感觉整个系统只为它自己服务,并未感觉到还有别的用户在共同使用计算机。虽然在任一时刻计算机只为一个用户服务。但是在总体上系统在同时为多个用户服务。

  1. 同时性。(分时系统允许各用户同时工作,系统分时响应各用户的请求)
  2. 交互性。(分时系统支持联机的操作方式,用户可以在终端上通过操作系统进行人机交互,随时控制和调试程序)
  3. 独立性。(各用户之间彼此独立地工作)
  4. 及时性。(用户请求能在较短的时间内得到响应)
  1. 作业控制方式。(批处理系统接受用户利用作业控制语言编写的作业控制说明,按照作业控制说明允许用户作业;分时操作系统用户利用命令与机器交互,达到控制作业运行的目的)
  2. 适应的作业不同。(批处理系统适应已调试好的、运行期间不需要用户交互的大作业;分时系统适应运行期间需要用户交互的较小作业)
  3. 系统追求的目标不同。(批处理系统以提高系统资源利用率和作业吞吐量为目标;分时系统以满足用户交互的及时响应为目标)

实时操作系统:

实时就是立即的意思,是指计算机要能够及时地响应外部事件的请求,并以足够快的速度完成对事件的处理。实时操作系统主要用于过程控制和实时信息处理系统。

常用于飞行器控制、通信卫星的定点和姿态控制等方面。

过程控制又称为实时控制。实时控制是指计算机把特定的外围设备作为控制对象,如各种传感器等,将采集到的物理量经过模数转化器变成数字信号送到计算机,计算机将信号加工处理后再输出到数模转换器,将数字信号转换为模拟量,作为控制信号,通过执行机构直接控制相关对象。

常用于例如资料查询系统、银行系统、铁路系统、订票系统等。

用户通过终端提出服务请求,系统在很短的时间内通过终端与用户进行一系列会话,完成要解决的任务。这类实时系统由于通常是多终端的,所以也采用分时的方式,但是与前面说的分时系统不同。首先实时系统中的应用程序是预先编制好的不允许修改,交互作用能力有限,通用性弱。其次实时系统对于请求响应速度的要求要比分时系统高得多。

嵌入式操作系统:

嵌入式操作系统是随着3C产品不断发展和应用而产生的一类现代操作系统。
Baidu:3C即计算机类、通信类和消费类电子产品三者的统称,亦称“信息家电”。

嵌入式操作系统指运行在嵌入式计算机环境中,对整个系统各种部件和资源进行统一协调、处理、指挥、控制的系统软件。它具有通常操作系统的基本功能,但是有很大不同,体现在微型化、可定制、实时性、可靠性、易移植、开发工具与使用环境密切相关等特点。

个人操作系统:

个人操作系统的发展,从早期最流行的个人计算机操作系统CP/M,到使计算机普及化的MS-DOS操作系统,再到现在的Windows操作系统。Windows的产品也不断更新,网络的普及使得WindowXP网络操作系统和Linux一样称为微型计算机的主流网络操作系统。

网络操作系统:

计算机网络是计算机技术与现代通信技术飞速发展和密切结合的产物。由本地局域网(以太网、环形网、ATM网、无线网)与通信子网构成的庞大计算机网络又称互联网
网络操作系统除了具有通常单机操作系统资源管理功能外,必须提供高效可靠的网络进程通常能力和基本的分布计算服务(远程文件服务、网络进程管理等)。

分布式操作系统:

分布式操作系统可以定义为通过通信网络将物理上分布的具有自治功能的数据处理系统或者计算机系统互连起来,实现信息交换和资源共享,协作完成任务。

分布式操作系统的特点:

  1. 分布式计算机系统是计算机网络系统的高级形式,由多台计算机组成,计算机之间没有主次之分。
  2. 分布式系统的特点是数据和控制及任务的分布性、整体性、资源共享的透明性、各节点的自制性和协同性。

分布式系统中,当系统中的某台计算机故障时,分布式操作系统会将该机所承担的任务重新分配给其他计算机完成,虽然会带来整体效率的下降,但是不会影响整个任务。

分布式操作系统与网络操作系统不同,虽然它们都是通过网络将分布在不同地区的计算机连接在一起,但是分布式系统不再是简单的资源共享,他还负责任务的整体分配和共同分担。它们最大的不同在于分布式系统具备整体性,而网络系统中计算机是分散的、不具备整体性。

(END)