1.4 操作系统的特性及其应解决的基本问题

1.4.1 操作系统的特性

目前广泛使用着的计算机仍然以顺序计算为基础的存储程序式计算机。为了充分利用计算机系统的资源,一般采用多个同时性用户分用的策略。以顺序计算为基础的计算机系统要完成并行处理的功能,必将导致并发共享的矛盾。以多道程序设计为基础的操作系统具备的主要特征也就是并发与共享。另外,由于操作系统要随时处理各种事件,所以它也包含着不确定性的特性。

1 .并发

并发性,又称为共行性,是指能处理多个同时性活动的能力。 I/O 操作和计算重叠,在主存中同时存放几道用户程序,这些都是并发的例子。由并发而产生的一些问题是:如何从一个活动切换到另一个活动;怎样保护一个活动使其免受另外一些活动的影响;以及如何实现相互依赖的活动之间的同步。

2 .共享

共享是指多个计算任务对资源的共同享用。并发活动要求共享资源和信息,这样做的理由是:

①向各个用户分别提供充足的资源是十分浪费的。

②多个用户共享一个程序的同一副本,而不是分别向每个用户提供一个副本,这样可以避免重复开发,节省人力资源。

与共享有关的问题是资源分配、对数据的同时存取以及保护程序免遭损坏等。

并发和共享是一对孪生兄弟。程序的并发执行,必然要求对资源的共享,而只有提供资源共享的可能才能使程序真正并发执行。

3 .不确定性

操作系统能处理随机发生的多个事件,如程序员在控制台上按中断按钮;程序运行时发生错误;一个程序正在运行,打印机来了一个中断信号等。这些事件的产生是随机的(即随时都有发生的可能),而且许多事件产生的先后次序又有多种可能,即事件组成的序列数量是巨大的,而操作系统必须能处理任何一种事件序列,以使各个用户的计算任务正确地完成。

1.4.2 操作系统的性能指标

操作系统的性能与计算机系统工作的优劣有着密切的联系。它的性能可以表现在多个方面。比如:可靠性、效率、可维修性、方便性、可扩展性、透明性等等,其中有的是较为重要的性能。下面,给出操作系统的主要性能指标,以便对系统的主要性能和特征进行描述。

1 .系统的可靠性

系统的可靠性( Reliability ,可维修性及可用性)指的是系统能发现、诊断和恢复硬件、软件故障的能力,它可使用户的误操作或环境的破坏对系统所造成的损失减少到最低程序。

可靠性 R ( Reliability )通常用平均无故障时间 MTBF ( Mean Time Before Failuve )来度量,它是指系统能正常工作的时间的平均值。 R 越大,系统的可靠性就越高。

可维修性 S ( Serviceability )通常用平均故障修复时间 MTRF ( Mean Time Repair a Fault )来度量,它是指从故障发生到故障修复所需要的平均时间。 S 越小,可维修性越高。

可用性 A ( Availability ),其计算式为:

它是指系统在执行任务的任意时刻能正常工作的概率。

2 .系统吞吐率

吞吐率( Throughput )指的是系统在单位时间内所处理的信息量。它以每小时或每天所处理的各类作业的数量来度量。

3 .系统响应时间

系统响应时间( Response Time )指的是从系统接收数据到输出结果的时间间隔。在批处理中,用户从提交作业到得到计算结果这一时间间隔称为响应时间,又称周转时间。而分时系统的响应时间指的是用哀悼通过终端发现命令到系统作出应答所需的时间。

4 .系统资源利用率

利用率( Utility )是指系统中各个部件、各种设备的使用程度。它用在给定时间内,某一设备实际使用时间所占的比例来度量。显然,要提高系统资源的利用率,应该使各类设备尽可能地忙碌。

5 .可移植性

可移植性( Transplantable )是指将一个操作系统从一个硬件环境转移到另一个硬件仍能正常工作的能力。它可以用转移工作的工作量来度量,工作量常用人年来表示。

1.4.3 操作系统应解决的基本问题

操作系统具有并发、共享的特征。为了解决程序并发执行和资源共享引起的新矛盾,操作系统必须解决如下几个问题:

1 .提出解决资源分配的策略

对处理机、主存空间、外部设备、软件资源的共享,操作系统必须提出资源分配的策略和方法。虽然,不同的资源具有各自的“个性”,在具体实施分配时又要考虑各种部件的特性,但从本质上看,它们除有“个性”外,还有“共性”。我们可以从共性出发,去研究资源的统一概念,研究资源的使用方法和管理策略,而对各具体资源的管理,则可在总的高度原则、管理方法基础上结合具体资源的“个性”实行之。

2 .协调并发活动的关系

由于系统中的多个活动共享资源,因而它们之间有一定的相互制约关系。另外,当若干活动为完成一个共同任务相协作时,它们也必有一定的逻辑关系。所有活动之间的这些关系必须由系统提供一定的策略和一种机构(通常称为同步机构)来协调,以使各种活动能顺利地进行并得到正确的结果。另外,操作系统还要协调各部门的工作,使它们和谐地分工合作,各得其所。总之,为了充分利用资源,必须实行并行操作,但各部门并不是各行其是,而是在操作系统的统一指挥下,协调相互间的关系,有效地工作。

3 .保证数据的一致性

保证数据资源的一致性,即保证数据信息的完整性,保证数据资源不被易破坏。比如避免其残缺不全,或前后矛盾。为此,要求系统提供保护手段,并且解决好程序并发执行时对公用数据的使用问题。保护数据资源问题涉及多级保护: 对系统程序的保护; 对同时进入主存的多道程序的保护; 对共享数据的保护。

对这三种保护问题可采取不同的措施。

①为保护系统程序不受破坏,应建立一个保护环境。采用的办法是对计算机系统设置不同的大辩论态。详见 2.2.1 节的讨论。

②为了防止多道程序之间的相互干扰,系统提供主存保护功能,这将在第七章(存储管理)作详细讨论。

③当并发程序共享某些数据时,必须小心谨慎地处理它们的同步关系,以避免发生与时间有关的错误。关于什么是与时间有关的错误,什么是同步等问题将在第四章(并发处理)介绍。

4 .实现数据的存取控制

这实际上还是一个保护问题。为了保证正确与合理地使用信息,需要解决存取信息时的保护问题。在访问一个信息时,必须由保护部件作保护性检查,未经信息主人授权的任何用户不得存取该信息。例如,任何一个程序都不能在未得到许可的情况下,去访问另外一个用户的内部数据,或是当一个用户想被保护的标准程序时,也不应该在没有进行检查控制的情况下去执行这一程序。

每个用户对各种数据的存取都事先规定了一定的权限。所谓权限,就是用户对这个数据能执行什么操作,是只能执行,还是可以阅读(读操作)或是修改(写操作)。当一个用户程序去访问某一数据信息时,保护系统要进行检查,看他是否有权按其要进行的操作去使用某一数据。

近年来,由于计算机系统广泛用于各种数据处理问题,尤其是计算机网络的出现,信息保护成了一重要的问题。数据存取控制问题急需解决,人们在操作系统中,特别是在数据库管理系统中做了不少工作,采取了各种保护措施,以达到安全使用的目的。
 
 Copyright © 2007 华中师范大学计算机科学系  All Rights Reserved