admin 管理员组

文章数量: 887021


2023年12月23日发(作者:evaluation的近义词)

实时UNIX操作系统的历史及现状

S

实时UNIX操作系统的历史及现状

刘日-R-(武昌223信箱软件开发都,武汉点30074)_rPl'?--_?_'一

摘要本文概连了实时应用领域对操作系统的要求'提出了安时uNIx的产生背景'重点夼耋吕

了连令为止出现的各种宾甘uNⅨ系统版拳的蜜璁方式,最后计{旨了UNIX神标准亿问题和当前状

况0i

关键词篷堡至竺塞堕,

二十年前,UNIX是作为一个分时操作

系统而设计的,它的设计者一开始就宣称,

他们在UNIX中有意不包括实时功能.但是

由于市场的推动,在UNIX出现后不久就陆续

出现了一系列实时UNIX版本,并用于各种

领域.近年来实时UN【X已发展到建立国际

标准的阶段,这更加引起了国际计算机界

和用户的密切注意.本文分析了实时UNIX

的产生背景,介绍了它的发展历史和实现方

法,最后讨论了它的现状和标准化阍题.

一,一

般实时操作系统的特征

实时系统指的是,在这个系统中如果不

能满足最后期限(de~fdline)就会产生物理上

的或非物理上的损害.前者指的是过程控制

系统,如核反应堆控制系统,不能满足实时

响应可能会产生灾难性后果(也称硬实时);

后者指的是事务处理系统,如银行事务处理,

不能及时响应外部请求也会造成重大损失

(也称软实时).虽然不同实时系统对外部事

件输入频率或响应速度的要求有所不同,但

它们都必须在期望的时间内给以响应.

实时系统由硬件和软件两部分组成硬

件包括通用或专用的接口或设备,通信介质

稆处理机,软件包括实时操作系统和应用软

件.上述实时系统的每种成分都会对系统性

能造成影响,其中操作系统是应用程序直接

可见的,程序员要通过操作系统来控制硬件

设备.因此,操作系统性能的好坏直接影响

到整个系统的性能.

长期以来市场上已有不少实时操作系统

在使用,例~iRMX(IntelCo.),RSX,

R1—11(DEC),VRTX(ReadySystems),

VxWorks(WindRiverSystemsInc.),

0S9,,0S9000(MicrowareSystemsCo.).

这些操作系统的优点是性能较高,一般还能

剪裁以适应不同应用的需要,但有如下缺

中,这些系统均运行于非容错宿主环境.理

论及多年的实践表明,基于双重库结构的可

重构数据库系统具有良好的可靠性和完整性

性能.该技术可推广至一般微型机DBMS及

数据库应用系统的设计中.

.

参考文献

[i]F.】.Maryanskl等,AnarchltectRrcfor

faulttolerar~ceJndatabasesystems,

8以I目8.,pp389

398

[2]建慧容错数据库系统研究,工学硕士

学位论文,上海铁道学院,1988

(3】江建慧,郦萌,一种定X和描述集中式数

据库系统及其容错技术的运行模型,中国

青年计算机研究进展(NCYC'0l会议文集),

国防科技大学出版社,199l,印.5O1—6o5

[4]LiMeng,GRoWein~m,Faultrole—

rmtdistributedJrtfor,rtat~onsystem~.

inRcliab{}ityTheoryandApplicat—

ions,8她,World

Scie~,IjⅢ..

209—217

—2罩

点tUNIx也优于一般的实对操作系统.

1?它们往往附属于某一种或某一系列尽管UNIxt~实时操作系统有许多优点,

的计算机,~iRMX只能在INTEL公司的微但uNIx~于实时应用仍有许多不足.这是因

机上运行,RT-11~能用于PDP一11系列机.为分时系统与实时系统的基本设计目标是不

当用户要求更换计算机硬件时原有的应用系同的,前者强调资源分享和用户友好,后者

统就不能使用了J强调及时响j夔和可靠性,因此分时应用与实

2?实时探作系统没有标准化,不同的耐应用有许多不同甚至矛盾的要求.例如t

操作系统有不同的使用方式,因而使用比较1.分时系统的用户是程序员,用户要

困难I求系统公平地为他何服务,响应时伺可迭若

3?这些操作系统的开发能力比较弱,干秒.而实时系统刚要求响应快,不同的应

般只提供最基本的编程功能.有的操作系用有不同的优先权,

统甚至没有开发功能,只能通过别的操作系2.分时用户要求系统友好,对外设接

统开发软件.口则希望抽象一些I而实时应用则希望了解

十年以前这些专用操作系统统治着实时井控制硬件和系统软件的细节}?

应用领域,当时在实时系统的开发费用中软3.对系统资源的管理,如文件内

件只占较小的比重,这些操作系统还可以满存,外设等,系统一方面要求满足分时用户,

足人们的需要.但是随着软件开发费用的迅的需要,另一方面要提高系统资源的利用

速上涨,人们对实对操作系统的开发能力提率I而实时应用首先要求高性能和可靠性,

出了更高的要求,而UNIX的产生恰恰适应即使多花费资源也值得I

了邀一要求,所以人们希望把UNIX用于实1.分时京统史持多用户的公平使用,

时环境.用户之间的关系是比较独立的,每十用户的

=,UN攮作系统和一般实时摄作系行为也是难以预计的.因此系统既要保护自

t的此较己免遭用户程序的破坏,又要防止用户程序

UNIX相对于其它操作系统特别是实时之间的破坏.而实时系统的应用程序是专用

操作系统具有如下优点t的,良好调试的,保护的性质不同J

拥有丰富的软件开发工具,其5.有些实对应用,如OLTP(OnLine

开发能力大大优于实时操作系统,Transactionproceasing),往往要求突发的

是可移植的操作系统,它几乎大量数据处理能力,而分时用户一般无此要.

可以运行在所有的计算机上,特别是在高档求.

微机或小型机上.在UNIX上开发,调试和因此要使一个操作系统既适合分时应用

运行的应用软件可以在各种机器上进行,因又适合实时应用是十分困难的,特别在

实时

而减少了软件开发费_用,也有利于硬件的升任务响应方面分时系统远不能满足实时应用

级,的需要.

s?UNIX是工业界事实上的标准操作系实时操作系统的性能主要用任务响应时

统,目前正在制定法定的标准,这些标准得间(taskresponsetime)度量.它是指从系

到了工业界广泛的支持,统收到中断请求到有关实时任务开始执行这

'.熟悉UNIX系统的程序员的数目远远段时间,如图1所示.

大子熟悉实时操作系统的程序员的数目,这在任务响应时间中最关键的是中断延

也有利于减少软件的开发费用J迟,抢占延迟和上下文转换时间中断延迟是

5?在网络和数据库等方面的支持,指从中断发生到进八中断服务为止的时间,

2l'

f中断蓬迟f

tt

中晰崔^中断

产生蔗务

中断服务I抢占延迟{

f(正在服务于#他任务】1

;;蛐豁

图1任务响应时间

抢占延迟是指结束中断服务到进八任务调度

所需的时间,上下文转换时间是转换任务的

时间.后两者称为抢占时间.由于中断延迟和

抢占延迟是不确定的,所以人们往往用最坏

任务响应时间来度量实时操作系统的性能.

在任务响应时间中,抢占时间主要由任

务的调度方式决定.在一般分时操作系统中,

没有任务优先数,也没有抢占调度.所以任

任务都必须等到它前面的任务的时间片用

完才能运行.这种调度方式对于分时用户是

很公平的,但不适合于实时应用.

UNIX系统是个分时系统,但在任务响应

时间方面比一般的分时系统有一定的改进.

任务有优先数,当系统在用户状态下运行时

高优先任务也可以抢占低优先任务.但任务

的优先数是动态的,以兼顾用户平等和提高

系统效率,而不是给某些任务以固定的优先

权.UNIX虽然也有抢占式任务调度,但仅

限于用户状态.当某一任务运行在核心状态

时,高优先的任务只能等到它退出核心状态

才能运行.UNIX最坏的任务响应时间可达

若干秒,这是实时应用难以忍受的延迟.

除了任务的响应时间外,UNIX还有其

它一些问题.总的来说,把UNIX用于实对

环境可能会发现如下一些问题:

1.优先数调度.UNIX使用动态优先数

调度,目的在于使各用户得到比较均衡的响

应,但实时系统一般则要求静态优先数}

2.抢占调度.这是实时系统所要求的,

~trutx在核心状态下是不允许抢占的}

3.内存锁定.UNIX的存储管理机构可

能使某些关键任务不能得到及时响应,因为

它们可能不在内存.实时系统则往往要求某

些或全部任务常驻内存,

上下文转换l毒?时f,-1诵度.

…一一UNIX的时间调度机制

如§

难于满足严格的实时要

开蛤执行求,

5.连续文件.

UNIX~支持莲续文件,

这有利于资源管理,但不利于实时系统所要

求的大容量快速的文件存取,

6.文件记录.UNIX缺少文件记录概

念,不适应象OLTP这样的实时系统}

7.异步I/的异步I/O概念虽然

有利于提高效率,但对于象OLTP这样的应

用来说容易造成数据的不一致性.

之所以产生上述问题是因为UNIX~设

计者在确定设计目标时就没有打算包括实时

功能.为使UNIX适应实时应用需要对UNIX

进行修改.

三,如何实理实时UN

所谓实时UNIX是指它既要提供实时功

能又要保持UNIX的原有功能,因此实现实

时UNIX需要对传统的UNIX系统加以修改.

开发UNIX实时版本主要有三种方法t

第一种方法是在UNIX核心之上加八实

时扩充,不必更改核心.例如ChalesRiver

公司的UNOS系统扩充了如下内容:优先数

中断和调度,连续文件,提高性能和进程通

信.其中通信工具主要是事件计数(event

COUntS),它来自M【T的MULTICS的多机通

信机制.这种方法的优点是实现简单,但缺

点是性能较差.

第二种方法是修改核心.修改核心的方

法有多种,主要是减少实时任务的响应时间.

为了减少实时操作系统的最坏任务响应时

间,人们往往把注意力放在抢占时间上.减

少抢占时间的一个比较有效的方法是在核心

中设置抢占点(preemptirepoint),以克服

uNIx核心不可抢占的缺点.它的实现思想

是,在核心中设置若干个检查点,当系统运

行到这里时操作系统便检查系统中有没有更

高优先权的就绪的任务,如果有则重新进入

-25?

任务谓匪.这稀检查点即称为抢

占点.任务等待调度的最长时间

为当前两十抢占点之间的时间长

度.

采用抢占点方法的有Mass—

comp(Concurrent)公司的RTU

系统,HP公司的HP-UX,VeI

turCom公司的Venix,NCR的

uNIX和UI于1989年底发表的

UNIXSVR4.0

抢占点方法提高了系统性

能,把UNIX的最环任务响应时

间由秒级降到毫秒级,但仍不能

做到核心的完全抢占,所以性能

表1实对uNIx和纯实时操作系统性能比棱

!苎苎…!…!!妻…!!竺…!堡!苎……CPU

踊珏l^1譬了核心罪掩占

P一"EP

Rru抽SS~OIP

~'enJxVenturgoe

REAL/IXHDdcCdlp

ReBultmAlcyon

Lyntosh卟

YXReB

SsI●s

掩占点

播古点

瞳占A

尘掩占

垒抢占

主忸占

一一…一

生把占

葛干耻蛀|.

棒豉甚心5-s明0c

■簋暂3Is时D

■破接心2-B~381]16H吐J

■殴.}E心260s66fl302州配,一

1写拓275s8口3B620lllIi

t写技250s80x~620NHZ

…………………一●…●…一……

纯宴毗75100s8口38B20MqZ,

V~~orksi

.

z,d

.

R[:.

Rt¨

s

El

s

e

L

vg

e

s

空抢纯宴时加.聃∞.

…一………●…_…一……………●…………一●…...一一.'

提高有限.修改核心的方法增加了应用程序

移植的困难.

在修改核心实现的实时UNIX中,REAL

/】x由于实现了核心全抢占的调度方式,系

统的性能大大提高i其最坏任务响应时间可

达260以下.

实现实时UNIX的第三种方法是完垒重

写UNIX核心,但接口仍然保持与UNIX标准

版本一致,从而能比较彻底地解决实时任务

响应问题

重写核心的实耐UNIX中有代表性的操

作系统是Alcyon公司的Regulus和Lynx

Real-TimeSystem公司的Lynxo%它们都

不含有AT&T的源代码,有时它们也被称为

专利的(纯)实时UNIX操作系统,不过它们

在界面上与AT&T的SVID和IEEE的Posix是

兼容的.由于核心重新设计,系统性能得以大

大提高,例如在20MttZ的80386机器上Reg-

ulus和LywxO~最坏的任务响应时间分别为

275~s和250ps.

重写UNIX核心的优点是提高了性能,

但比起纯实时操作系统的性能仍要差一些.

例如ReadySystems公司的VRTX(VersatHe

Real-TimeExecutive)实时操作系统在2O

MHz的80,~86上的最坏响应时间为75~100

us.此方案的歇点是开发能力弱于全功能的

-26?

UNIX,而且难于跟上UNIX版本的升级.

表1示出了若干实时l力x系统和钝实时

操作系统的性能比较.?

从表1可以看出,核心垒抢占的调度方

式大大减少了任务的响应时间,这引起了一

些公司的仿效.VenturC0m公司宣布即将推

出全抢占~Venix版本Masscompr~在开发

RTu的垒抢占版本,完成之后其最坏任务喻

应时闯将由3ms降至Ims.

提高实时UNIX性能的另外一种方诺是

采用多处理虮支持.这时可以把中断或其它

非预期的负载放在一组处理机上,而时间关

键的实时任务则使用另外的处理机.Ms∞o—

mp公司的RTU~FI可用于多处理机,它除了用,

于实时外还可以用于阐络和图形功能目前

些公司如NcR,Alcyon和Lynx也都在开

发各自的实时UNIX的多处理机版本.

由以上分析可以看出,实时U]x系统

在性能上仍然赶不上纯实时操作系统,在开

发及其它能力上剐不如标准UNIX系统.因此

些厂商采用了宿主机一目标机方法将UNIX

用于实时控制,即在宿主机上利用标准Ujk

的开发能力和其它能力,而把实时应用程序

放在目标机上在纯实时操作系统支持下运

行这种使用方式也扩充列多处理机甚至同

处理机上的不同任务上,即UNⅨ和纯实

时操作系统运行在不同的处理机或不同任务

上.在这些情况下UNIX和实时操作系统分

工协作,完成各自的任务这些方法往往被

笼统地称为分布式实时UNIX系统.它虽然未

实现实时UNIX系统,但确是把UNIX用于实

时的一种有效的方法.其优点是既利用了标

准UNIX的能力和可移植性,又利用了纯实

时操作系统的高性能.

分布式LrNIX的实现方案的缺点是代价

较高,因为它需要两种机器j另一方面,在

实时操作系统上运行的应用程序是不可移植

的.

四,实时UNIX的当前发晨

UNIX操作系统上应用程序的可移植性

是UNIX实时化的主要推动力之一.然而

UNix~g八实时功能后可移植问题叉提出来

了.'因为虽然UNIX是操作系统的事实上

的标准,但它的实耐扩充并未形成标准.因

此尽管实时UNIX可能保持了非实时应用的

可移植性,但它们的实时界面往往不同.例

如HP公司在它的NP工作站上实现的实时

UNIX(I-IPUX)增加了一些系统调用和库函

数,固而若把它上面的应用程序移植到80386

上的Regulus上要修改25嘶的系统调用.印

使实时UNIX的非宴时部分符合UNIX标准,

那么实时应用程序的实时代码部分仍然是不

可移植的.

事实上,非实时的UNIX本身也存在不

可移植的问题本来UNIX是个可移植的

操作系统,它的应用软件可以在不同的硬件

机器上运行,但由于长期以来uNIX的无控

_制驹发展,它的版本已达到200多种.实时

切本也有蜘多种.这就违反了UNIX本

来的设计目标.由于工业界的强烈要求,一

些国际上的标准化组织和厂商自80年代中期

开始联合起来致力于UNIX的标准化工作.

.

在UNIX的标准化过程中如下一些组织

起了主要的作用

AT&T:AT&T是UNIX的设计者,它于

1985年发布了SVID第一版,即systernv

InterfaceDefinition,是UNIXSystemV

接口定艾,目前已发行到第三版.

/usr/group(现在改名为Uniforum):成

立于80年代初期,是一个致力于uND(标准

化的非赢利组织.它的任务是制定UNIX标

准,发行切x的标准化杂志,组织各种会

议和活动.1985年与IEEE的PlOO3委员会合

并,1986年公布了基于UNIX的Posix标准

(PortableOperatingSystemInterface).

Posix的范围包括接口定义,shell界面,验

证测试,实时扩充,Ada接口,安全性,系

统管理,网络,数据库,Fortran接口等.其

中接口定义P1003.1于1988年8月被IEEE通

过为正式标准,即lIEEEstdl0O3.卜1988.

1990年ISO也通过了这个标准,名为;Is

9945-1:08.4代表IEEE操作系统

技术委员会PlOO3(Posix)子委员会实时扩充

工作组及其制定的标准PlO0~.4标准正在

投票之中.

X/OPENl成立于1984年.它是国际各

生产厂家的联合体,它不制定标准,只采用

标准.X/OPEN的主要工作是提出CAE(co_

mmonApplicationEnvironment)的标准接

口.CAE接口在它的.可移植性指南(即x/

OPENPortabilityGuide—XPG)中定义.

1985年发布了第一版,目前巳发布第三版,

figxPa.3.随着p08ix各个标准的逐步推出,

XFG将不断推出新版.

这些标准的提出为UNIX的标准化打下

了坚实的基础.1987年AT&T与SUN公司结

盟,联合开发遵循上述标准的统~UNIX版

本.但IBM,DEC公司于1988年8)1联合了

2OQ多个厂家成立了OSF集团(OpenSo~tw—

areFoundation),决定开发自己的UNIX版

本,定名为OSF.第二年,1989年11月

AT&T和SUN等200多家公司成立了一个对

立的集团UI(UnixInternationa1),提出了

统一的UNIX版本:UNIXSYSTEMVRe—

lease4.0(SVR4.0).1990年l1月OSF也推

出¨了它的UNIX版本osF/1.这两个版本都

27

铝懂'圈张哮加工①

窜能化大直径测量的新方法1H)

!.墨匮一张小斌(略尔滇船舶工程学院计算机系,~m15ooo1)

摘要走回转体加工过程中的在线实时测量,是国内外^L木很好地解袅的率题,而在井多实

际精加工中这一难惠又是急待解决的.

当前可归蚋曲四种方法?一,量规法,二,弓高弦长法J三,经缔仪法,四,蘸子法.前三种

方法本质上属于机械或光学洲量具有原始,笨重,费事,膏时,洲量和荆缕误盖竞l晕魄点,

不适合巩代自动化加工凝控撞木的垂求?奉竞提出一种称为标记法的无接鳗式智能化电洲方法.

标记法的棱?阿蠢是高精度,高稳定度的圭t卟光电识剐恭抗I适合亍单片机堆杆正弦函羲的高

精度算法(垂求精确垂{Io叶以上)J整个洲量末恍能在工业环境下可靠稳定地工作.根据标记法

测量原理砰辛I的实验样机,已较好地解决了上述问题.本主特垒面介龆标记洪的技幂要点.

,标记法的蔫■黑理

由图1可知,在光电传感器A,B与被测

图l标记法涮量原理

工件轴心O构成的等腰三角形中,假定工件

是一个理想的四,则在直角AAOC中

.ACL,2L

m面—z.D~

稃被测工件直~D-----L/sina(1)

在(1)式中,L是已知的常数,只需将

一……………~一…………一~…一…一…~…一一

宣称遵循PosJx和XPG3标准,并且对实时应

用都提供了吏持.SVR4.O包括了初级的实

时功能,如用户可控的进程调度机制,高精

度时钟,及内存镄定机制等.在任务调度方

面,SVR4.0在按心中加入了抢占点.OST

在m丑ch之上迭加子系统,使之更容易适应

于未来的实时应用.在任务调度方面OSF采

用了全抢占的可再八核心.DEC公司于1982

年2月推出了DECOSF/11.O版,其实时特

28

sina求出即可算出D值.故关键是精确地

测出角a,井算出&ina的值.

当让被测工件转动时r在加工现场,工

件在加工过程中一直转动,在工件被谢表

面任意处置一标记(本设计用的是一个带

磁座的金属标记,它可以方便地吸附在工件

表面)J则在两个光电传感器A,B处,顺序

地得到两个时间脉冲,如图2所示.

—I厂—~…一~]r_]厂_标记际

^B^R,

圈2光电传感器上得到的标记脉冲

定义为标记由传感器A转动到传感

器B所经历的时间I

为标记转动一周经历的时间.在但t

定工件转速均匀的前提下(这个促定实际上

是可以成立的),可得到

性遵循TIEEEIO03.4草案仰.不过,m臀

应.苷将于1998年提出它的埘麓的实耐增强

版本,.

UNIX的发展经历了由统一到分他,再

走向统一的过程.一星UNiX构实时标准窟

立,那么实时应用程序酌移植就彳匣窖易了,

这对计算机实时应用来说将是一个十分重要

的事件.


本文标签: 系统 任务 时间 核心 抢占