CoderMrWu

生活诚可期,爱情价更高!

操作系统有哪些分类呢?

该文章转载于自考库,如有侵权,请联系删除!

在叙述操作系统的发展历史的章节中,我们沿着时间的前后顺序,向读者介绍了不少类型的操作系统。本节我们从另外一种角度,根据操作系统在用户界面的使用环境和功能特征的不同,对操作系统进行分类。分类的目的是为了便于读者更好地理解和掌握操作系统的本质和特征

按照用户界面的使用环境和功能特征的不同,一般可以把操作系统分为三种基本类型,即批处理系统、分时系统和实时系统。随着计算机体系结构的发展,又出现了许多类型的操作系统,它们是个人操作系统、网络操作系统、分布式操作系统和嵌入式操作系统。本节将对这些不同类型的操作系统进行简要的介绍和分析。

一、批处理操作系统

从操作系统的发展历史中,我们知道批处理操作系统是一种早期的操作系统。在本小节中,首先概要地叙述批处理系统的基本工作方式,然后分析它的特点、种类、设计思想,介绍作业控制说明书、一般指令、特权指令和 SPOOLing技术,最后分析批处理系统对操作系统发展的贡献。

1、基本工作方式

批处理操作系统的基本工作方式是:用户将作业交给系统操作员,系统操作员在收到作业后,并不立即将作业输入计算机,而是在收到一定数量的用户作业之后,组成一批作业,再把这批作业输入到计算机中。这批作业可在系统中形成一个连续的、自动转接的作业流。系统操作员然后启动操作系统,系统自动、依次执行每个作业。最后由操作员将执行完毕的作业结果交给用户。

2、特点与分类

批处理操作系统的特点是成批处理。在批处理系统中,用户自己不能干预自己作业的运行。显然,在用户提交的作业投入运行之后,如果发现错误则无法及时改正,需要重新提交一份经过改正的作业,再次排队运行。这种处理方式延长了软件开发时间,所以批处理更为适用于成熟的程序。

批处理操作系统追求的目标是系统资源利用率高,作业吞吐率高。这里所谓作业吞吐率是指单位时间内计算机系统处理作业的个数。批处理操作系统的优点是作业流程自动化较高,资源利用率较髙,作业吞吐量大,从而提髙了整个系统效率。其缺点是用户不能直接与计算机无交互,不适合调试程序

依据系统的复杂程度和出现时间的先后,可以把批处理操作系统分为简单批处理系统和多道批处理系统

3、设计思想

简单批处理系统是在操作系统发展的早期出现的,因此它有时被称为早期批处理系统。在操作系统发展的早期,简单批处理系统被称为监控程序。其设计思想是:在监控程序启动之前,操作员有选择地把若干作业合并成一批作业,将这批作业安装在输入设备上。然后启动监控程序,监控程序将自动控制这批作业的执行。系统的运行过程是:先把第一个作业调入内存,运行之;等这一个作业运行结束之后,再把下一个作业调入内存并运行之;如此往复,直到这一批所有的作业都处理完毕。全部作业运行结束之后,操作员把运行的结果一起交给用户。可以看到。在这种系统工作方式下,作业的运行以及作业之间的衔接都由监控程序自动控制,从而有效地提高了作业运行的效率。

4、作业控制说明书

下面,我们更具体地分析批处理系统的工作原理。在简单批处理系统中,作业的运行步骤是由作业控制说明书来传递给监控程序的。作业控制说明书是由作业控制语言编写的一段程序,它通常存储在被处理作业的前面。在运行过程中,监控程序读入并解释作业前面的这段作业控制说明书中的语句,以控制各个作业步的执行。

这里举一个作业说明书的例子。某用户的作业包括A、B两个程序段,A由汇编语言编写,B由 FORTRAN编写。用户要求把两段程序分别汇编、编译之后链接成一个程序并运行它。这个作业说明书可以采取如下编写形式:

STEP1 ASM A

STEP2 FTN B

STEP3 LINK A,B,C

STEP RUN C

在这段作业说明书中, .STEP n指定了第n步作业,ASM表示进行汇编,FTN表示进行FORTRAN编译,INK代表进行链接装配,而RUN表示执行。A、B、C分别代表各个不同的程序段。作业运行后,监控程序逐条解释每一行语句。

第一个作业步,指示监控程序调入汇编程序源程序A并得到相应的目标代码。汇编结束之后,控制权转回监控程序。

第二个作业步,指示监控程序把 FORTRAN的编译程序调入内存,启动编译程序编译源程序B,从而得到程序B的目标代码。

第三个作业步,监控程序调入链接装配程序,将前面两个作业步得到的目标代码装配成可执行的程序C

最后一步,监控程序启动执行程序C。

5、一般指令和特权指令

在简单批处理系统的发展阶段,为了防止由于用户的错误而导致整个系统发生不可预料的后果,有必要对中央处理器的运行划分出不同的状态。这就为中央处理器引人了运行模式(mode)的概念。

运行模式通常分为用户模式和特权模式。在操作系统领域中,人们往往把为用户服务的用户模式称作为目态,而把为系统专用的特权模式称为管态。相对应地,机器指令被划分为一般指令和特权指令。特权指令包括输入/输出指令、停机指令等,只有监控程序才能执行特权指令。用户程序只能执行一般指令。一旦用户程序需要执行特权指令,处理器会通过特殊的机制将控制权移交给监控程序。

有了这样的区分之后,由于输入/输出指令属于特权指令,所以用户程序将不能直接使用输入/输岀指令,即不能直接指挥外部设备,它们必须向操作系统请求这些功能,这个请求通过所谓系统调用或者叫作广义指令完成。监控程序实现这些系统调用的功能。这些系统调用一般都有对应的功能代码,供调用时使用。

6、系统调用的过程

下面我们考察系统调用的处理过程。首先,当系统调用发生时,处理器通过一种特殊的机制,通常是中断或者异常处理,把控制流程转移到监控程序内的一些特定的位置。同时,处理器模式转变成特权模式。其次,由监控程序执行被请求的功能代码。这个功能代码代表着对一段标准程序段的执行,用以完成所请求的功能。最后,处理结束之后,监控程序恢复系统调用之前的现场;把运行模式从特权模式恢复成为用户方式;最后将控制权转移回原来的用户程序。

7、SPOOLing技术

简单批处理系统的监控程序犹如一个系统操作员,它负责批处理作业的输入输岀,自动根据作业控制说明书以串行方式运行各个作业,并且提供一些最基本的系统功能。但是,它并不具有并发能力,即不能实现多个程序的同时运行。真正引入并发机制的是多道批处理系统。

为了提高硬件资源的利用率,人们在监控程序中间引入了缓冲技术和多道程序设计的概念,批处理系统发展为更加高级的多道批处理系统。在多道批处理系统中,关键技术就是多道程序运行、假脱机( SPOOLing)技术等。

我们知道,在简单批处理系统中,作业是串行的,作业的执行速度受到各种慢速设备的制约,系统有很多时候(尤其在操纵慢速外设时)只能忙等待,处理器利用率难以提高为了解决这个问题,出现了脱机输入输出技术。为主机配备相对高速的磁带设备,主机的所有输人输出操作在磁带机上完成,另外配备若干卫星机,它们负责将用户作业从卡片传输到磁带上,执行时,由操作员负责把成卷记录了若干用户作业的磁带装到主机上去处理。这种技术通过使输入输出与计算在不同的设备上并行操作,从而有效地提高了处理器的利用率。

不过这种脱机输入输岀技术并没有从根本上解决输入输出缓慢的问题,于是出现了假脱机技术,借助硬件通道技术,实现了输人输出操作和处理器动作的自动并行处理。通道是指专门用来控制输入输出的硬件设备,可以看作是专门的处理器。通道基本上是自主控制外设的,可以与处理器并行工作。假脱机( Simultaneous Peripheral Operating On-Line, SPOOLing)技术的全称是“同时的外部设备联机操作”。这种技术的基本思想是用磁盘设备作为主机的直接输人输出设备,主机直接从磁盘上选取作业运行,作业的执行结果也存储在磁盘上;相应地,通道则负责将用户作业从卡片机上动态写入磁盘,而这一操作与主机并行。类似的操作也用于打印输出用户作业运行结果。

这里需要指出,通道直接受主机控制,它们之间通过中断相互通信。假脱机技术为实现多道批处理系统中的多道程序设计思想提供了重要的基础

多道程序设计的基本思想是在内存中同时保持多个作业,主机可以以交替的方式同时处理多个作业。一般来说任何一道作业的运行总是交替使用处理器和外设资源,而不同的作业一般也不会在相同时段内要求使用同一台外设或者处理器,如果通过合理的调度,让多个作业交替地同时使用不同的资源,那么就可以大大提高各种外部设备的利用率。这一简单思想通过多道批处理系统得以具体的实现。

二、分时系统

从操作系统的发展历史上看,分时操作系统出现在批处理操作系统之后。它是为了弥补批处理方式不能向用户提供交互式快速服务的缺点而发展起来的。

1、基本工作方式

在分时系统中,一台计算机主机连接了若干个终端,每个终端可由一个用户使用。用户通过终端交互式地向系统提出命令请求,系统接受用户的命令之后,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。用户根据系统送回的处理结果发出下一道交互命令。

2、设计思想

分时操作系统将处理器的运行时间划分成若干个小片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务。由于每个时间片极短,而计算机处理速度远比人的反应速度快得多,所以尽管所有的用户在轮流使用一个处理器,但这些时间片段轮回的速度远远比用户敲击键盘的速度快,通常处理器总是在一个极短的时间片内先于人的反应而处理完毕了用户发出的交互请求,并在终端屏幕上发出了相应的回应,所以每个用户并不感到有别的用户存在而影响了他对计算机的使用效率,用户似乎感觉到系统是被他独占的

3、特点

总体上看,分时操作系统具有多路性、交互性、“独占”性和及时性的特点。

“多路性”是指有多个用户在同时使用一台计算机。从宏观上看是多个人同时使用一个处理器,从微观上看是多个人在不同时刻轮流使用一个处理器。

“交互性”是指用户根据系统响应的结果提出下一个请求。用户直接干预操作每一步的进行。

“独占性”是指每个用户感觉不到计算机为其他人服务,就好像整个系统为他个人所独占一样。

“及时性”是指系统能够对用户提出的请求及时给予响应

分时操作系统追求的目标是及时响应用户输入的交互命令。用来衡量系统及时响应的指标是响应时间,即系统对一个输入的反应时间。在一个交互系统中,通常把用户从终端发出命令到系统给予回答所经历的时间,定义为响应时间。显然,响应时间越短越好。

一般通用操作系统结合了分时系统与批处理系统两种系统的特点。典型的通用操作系统是UNⅨ操作系统。在通用操作系统中,对于分时与批处理的处理原则是:分时优先,批处理在后

在通用操作系统中,一般把系统的分时和批处理运行状态,称为前台和后台。把处理终端用户的、交互式的、比较小的、但需要及时处理的作业,即分时作业称为前台作业;而把那些需要运行时间较长、要调用其他外部设备的、比较大型、但无需终端用户干预的,且不需要立即处理的作业,即可以批量处理的作业,称为后台作业。换句话说,在系统的“前台”响应需频繁交互的作业,如大量终端的处理要求;而“后台”则处理处理对时间性要求不强的作业。

三、实时操作系统

实时操作系统( Real Time Operating System,RTOs)是指,使计算机能在规定的时间内,及时响应外部事件的请求,同时完成对该事件的处理,并能够控制所有实时设备和实时任务协调一致地工作的操作系统。实时操作系统主要目标是:在严格时间范围内,对外部请求做出反应,系统具有高度可靠性。

实时操作系统主要有两类:

第一类是硬实时系统。硬实时系统对关键外部事件的响应和处理时间有着极严格的要求,系统必须满足这种严格的时间要求,否则会产生严重的不良后果。火箭和导弹控制、机器人控制、核反应堆控制等是硬实时系统应用的典型领域。飞行控制系统就是硬实时的,它对飞行数据和外部数据采集与处理时机的把握要非常严格,否则就有可能造成飞机碰撞这样的灾难后果。这种时间精确度的要求通常会在微秒以下。

第二类是软实时系统。软实时系统对事件的响应和处理时间有一定的时间范围要求,不能满足相关的要求会影响系统的服务质量,但是通常不会引发灾难性的后果。如视频(信息)处理、电信(自动交换机)、银行、飞机订票等领域的信息处理。在一个网络视频服务中心中,如果不能将视频信息连续定期地(如每一秒钟每个用户25帧图像)传送给多个用户,用户将会感觉到影像的停滞、跳动或变形。这种后果,虽然通常不会引发致命或灾难性的后果,但是也影响了系统服务质量的提高。所以良好的定时特性也是软实时系统的要求。

实时系统为了能够实现硬实时或软实时的要求,除了具有多道程序系统的基本能力外,还需要有以下几方面的能力。

(1)实时时钟管理

实时系统的主要设计目标是对实时任务能够进行实时处理。实时任务根据时间要求可以分为两类:

第一类是定时任务,它依据用户的定时启动并按照严格的时间间隔重复运行;

第二类是延时任务,它非周期地运行,允许被延后执行,但是往往有一个严格的时间界限。

依据任务功能的不同,还可以分为主动式任务和从动式任务,前者依据时间间隔主动运行,多用于实时监控;后者的运行依赖于外部事件的发生,当外部事件出现时(例如某个中断),这种实时任务应尽可能快地进行处理,并且尽量保证不丢失事件。绝大多数实时任务均与时间相关,良好的实时时钟管理能力就成为实时系统的一个关键能力。

(2)过载防护

实时系统中的实时任务往往与环境的依赖关系很大。实时任务的启动时间和数量具有很大的随机性,突发的大量实时任务极有可能超出系统的处理能力,从而发生过载。实时系统在出现过载现象时,要有能力在大量突发的实时任务中,迅速分析判断并找出最重要的实时任务,然后通过抛弃或者延后次要任务以保证最重要任务成功的执行。

(3)高可靠性

高可靠性是实时系统的设计目标之一。由于实时系统往往用在一些关键应用上,如航空控制、工业机器人等领域。实时操作系统的任何故障,都有可能对整个应用系统带来极大的危害。所以实时操作系统需要有很强的健壮性和坚固性。当然高可靠性的要求不仅仅是对软件系统的要求,也是对硬件系统的要求。

点赞