用于微型计算机的小型实时操作系统.pdf

上传人:asd****56 文档编号:70347904 上传时间:2023-01-19 格式:PDF 页数:6 大小:2.31MB
返回 下载 相关 举报
用于微型计算机的小型实时操作系统.pdf_第1页
第1页 / 共6页
用于微型计算机的小型实时操作系统.pdf_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《用于微型计算机的小型实时操作系统.pdf》由会员分享,可在线阅读,更多相关《用于微型计算机的小型实时操作系统.pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第二卷第六期核电子学与探测技术?年?月用于微型计算机的小型实时操作系统唐云丽?中国科学院原子能研究 所?本文介貂了采用?所定义的?,?操作 作为系抚的控制机理以 及某些软件技巧,故 系就响应速快、性能好,有效地解 决了实时应用中各任务简的 同步,通信以及相互固隔离简题。敲操作系就为实时数据获取与控制应用服务。使用?微处理机作为仪表控制器的各用户,易于用模块程序方法,采用操作系统的各原藉,编写各自的应用程序,完成各自的功 能。为了有效地进行控制和管理仪表的各个部分,实现测量 与控制自动化,需要一个强有力的 高级管理机构一一实时操作系统。虽然实时操作系统的发展已有多年的历史,但 用于测量仪表系统中

2、的?位微处理机的实时操作系统却很少见。为此本文介绍一个专为?微处理机所设计的小型实时操作系统?!。由于采用先进的软件技术和结构程序方法,故它的速度快、效率高,适用于 各种实时数据获取和自动处理的 仪表系统中?集 中式系统或分布 式 仪表系统?。本文着重 从逻辑与技巧来介绍?操作系统的核心设计一、操作 系统 的作用为说明操作 系统的作用,列举 图?所示 的 核裂变物质无损分析 中所用的带微处理机的?谱仪系统。图?中智能多道分析器是整个系统的核心部件,它由?,?微型计算机和外围设备等构成。在实时测量中,该系统需要 同时进行多种工作。例如,接收来自探测器的数据,进行实时显示,在盒式磁带机上记录数据,

3、周期性地检验系统工作状态,处理?探 测器系统控制信号?一一一一回褥做处理饥盒式磁带机打?,机?经 龟全 竺全丝色,?图?丫谱仪系扰框图谱数据,打印输出处理结果,启动 电子机械交换器进行样品 的自动更换等,即该?谱仪是处在“实时多任务”的环境之中。为 了协调管理上述各任务,使之有条不紊地进行工作,就需要有一个实时操作系统。当系统为分布式测量系统时,它不仅处于“实时多任务”的环境之中,而且系统各部分还要进行通信。智能多道分析器和智能终端各用一个?微计算机作为系统的管理、控制 和数据处理部件。它们之间要进行经常 的通信,使主机能随时访问终端中的外 围设备,并协调各部件之间的动作,实现测量和分析自动化

4、。因 此,在主机与终端各需要一个实时操作系统来管理各自的任务和进行 相互之间的 通信。二、操作 系统的概况从系统的体系结构来看,?工是 山系统 的核心软件,内存管理与分配程序?通信管理系统和文件管理系统所构成,这些程序相互配合共同管理机器的各个部件。在?操作系统中,将一段可执行的程序定义为 一个“任务”,系统允许多个任 务并行执行,即可工作于多道程序方式。从系统角度看,操作系统的核心 是管理任务的执行。一个任务总是处于执行态、预备态和等待状态 中的一种。如图?所 示。每个任务的寿命是由事件来控制的?内部事件是指软件,外部事件是指硬件?。任务状态的转换是由于任 务本身需要等待一个事件或者由于某个

5、事件的发生。每 个任务被分 配一 个优先级,用户根据任务在系统中所处的地位重 要与否来分配优先级的高 低。当一个 任务没有条件执行时,调度程序根据优先级选 择 下一个候补任务执行。为 了实现任务间的同步 与 隔 离,?采用 了?的?和?操作丁作为操作系统的同步机构。?与?操作是对所定义的数据结构称为“信号量”的同步机构进行 操作,和一个排队清单所组成。处在等待状态 的任务在“信号量”排队,则立即执行。节节备?忿忿井井 烤二长长图?任务状态之简的关系信号量是由计数值当它得到事件后,为了实现任务的通 信,?定义了“信息”和“信箱”这两个概念。信息?是任意形式的数据块用 以保存任务?间通信时所需的数

6、据或 字符串。信箱是将几个通信任务连接起来的枢纽。它是 由“洁号量”和两个排队清单?信息排队和任务排队?构成 的。产生信息 的任务将信息、投到指定的信箱内?即将信息、连接到信息队列中?,接收信息 的任务 则取走信?息?。如 果信息还没投到信箱?即信箱中的信息队列是空的?,则接收信息 的任务需要在信箱等待到信息到来时为止。任务间的 通信可以是局部方式?在集中式系统或在同一节点内?,也可 以是 遥控方式?在不同节点内?。在遥控方式下,相互之间进行通信的任务是处在不 同 的节点内,它们通过信箱 进行信息交换,就好象是处在局部方式,在发送节点所看到 的信箱是位于接收节点信箱 的映象。这种机构允许在两种

7、不同的通信方式中?局部方式或遥控方式?,可以采用同一个通信原语进行任 务间的通信,图锁锁?!?信信号量量信信?息息信信号量量队队头头队队尾尾信息排从图?信箱的数 据桔 构及排队清单?示出了信箱的数据结构。?的内存管理程序是将自由空 间以数据块的形式动态分配各任务。请求内存,分配的 任务将请求信息发 送到 预先定义的系统信箱,在该信箱等待服务的内存管理程序根据所收到 的请求信息内容,按照首次拟合代数法进行内存分配。在?!?中对外部硬件中断 的管理已转换成对操作系统所定义 的中断信号量所进行的?操作。?!#操作系统根据?的特征定义了?个“中断信号量”?,?,?,?,?,?,?,?,?,?。对硬件

8、中断控制器?!的控制和管理是由操作系统来完 成,用 户无需过问。硬件中断可由软件任务来模拟,即 用户可直接对“中断信号量”进行?操作来探知 中断是否发生。因此在?中,硬件中断机构对用 户是不可见 的,这就大大地减轻了用户编程序的负担。为了实现上述功能,?提供 了一整套指令。用户使用这些指令对所定义的某些数据结构?如“信号量”,“信箱”等?进行适当的操作,就可完成它们所需的功能。这些指 令 是?,?,?,?,?,?,?,?。?与?指令完成任务之间的 同步功能,它们各有一个操作数?信号量地址。请求系统资源的任务调 用?指令,如果此刻无系统资源提供给它,则它将在指定的“信号量”等待,当一个任务 要释

9、放系统资源时,则它 调用?指令,如果在它指定的“信号量”无 任务等待时则该任 务继续执行,否则等待任务进 入执行态,而它则进人预备清单。?与?指令完成任务之间通信的 功能。?指令有两个操作数?信息指示字和信号量地址。?指令只有一个操作数,即信号量地址。需要发送信息、的任务将信息发送到所指定的信箱时则调用?指 令印?,?需要接收信息的任务则调用?指令。?与?指令完成动态造任务和动态删掉一个任务的功能。它们各有一个操作数?静态任务标识符。?指令是将任务延迟所需的时间。当延迟时间到了,该任务恢复执行。?指令只有一个操作数,即需要延迟的时间单位的个数?系统时钟周期是?“?。?提供?四个实用程序?,?,

10、?,?。这些程序控制系统中各子级中断的使能和失效。?设有?个中断控制端?级?中断与?。相同?是与中断控制器?的中断请求端?相 连,三个 可掩码中断控制端?,?,?!?和一个不掩码中断?。?入?和?的程序 分别使能和失效?分的?级 中断,操作数?是整数。至?,?和?分别是使能和失效?三个可掩 码中断,操作数?是?,?,?中的一个。图?示出 了?的主要模块。在软件编制中,操作系统的核心程序是用汇编语言写的,某些高级原语是用?语言写的整个程序是用英特公司所研制的?微处理机开发系统进行编辑,编译 和试验,操作系统的核心程序只占?字节左 右。各种数据结构和静态描述符的 设置 是采用宏 汇编指令。这种方法

11、大大简化了操作系统的结构,特别在网络系统中将显著地降低系统开销。硬件中断任任任任任任任任任 务务任任 务务务通信模块块同同步懊块块块块延延退模块块块块块门门门门门门门门门门系系充夕吉伟伟模模块块任任务务挂挂制模块块?卫?五?刀图?主要模块?方框?和数据桔构?圆圈?三、操作系统的核心设 计操 作系统 的 核心是系统软 件的婆础部分,它的主要指标就是速度问题。在?的设计 中,由于采用某些技巧?如下一面所述?,使该系统能以最快速度 响 应 内部?软件?或 外部?硬 件?事件。就调度政 策而言,我们采用了固定优先级,在同一 优先级的各任务之间采用先进一先 出的 调度原则。为 了避免寄存器对寻址而带来的

12、多余时间 消耗,采用分页编码技 术?每页 是?个字节?。?操作系统所采用的墓本数据结构是?,预备清单,信一号量、信箱、延迟清单等。过程控制块是任 务 的标 识符,它用来保存与任务状态有关的一些参数,诸如栈指示字,任务优先级,任务需要延迟的时间等。?山四个区域构成?连接、栈指示字,任 务优先级以及扩展部分(如 图5所 示)。连接(L IN K)是将PCB与各种数据结构连接起来的指示字;栈指示字是 用来寻址各任 务的 私人栈(在该操作系统中,每个任务有自己的私人栈)。优先级是o至9的连连接接栈栈指示字字任任务优先级级扩扩展展图5通过控制块P eB的数据桔构数字。扩展部分是将PCB与包含更多信息 的

13、数据结构连接起 来 的指示字或用作软件定时器。尽管连接是一个指示字,但只用一个8位字节,这 是提高速度的 一个技巧。PCB和预备清单都放在一页(256个字节),预备清单设有n个排 队清单,如图6所 示,每个队列有两个指示字,其 中1 0个队列分配给 1 0个 优先级的 任 务,一个是留给空间任 务(Id leTask)。无其他任务执行时,空 间任务开始执行。命名为空间任务是因 为它在执行时,CPU是处于 停机状态,此刻 硬件可执行DMA操作。预备清单的每个 队 列 是 由队头与队尾(TA I L)所组成。令空队列(无其他任务在此排队)的队头H E A D=o,队尾T AI L=HEAD(圆点是

14、指地址)。因为预备清单由 2 2个字节组成,每个PCB占6个字节,延迟清单占一个字节,这样在一页 中最多可容纳 3 6个PCB,即操作系统最多可控制3 6个用 户任务,这对普通 的 应 用是 足够的。信号量(如图7所 示)是由一个计数器(一个字节)与 一个排队(一个字节)所组成 的。为 了灵活方便,信号量不是 放在一页。若采用预备清单中各PCB排队的办法,即空队列时H EA D=0,TAIL=HEAD,就存 在一个问题,因各信号量不在一页,这样队尾TA IL应是两个字节,需用寄存器对进行寻址,将会使操作系统的速度下降。为了克服这种问题,我们采用 了如图7所 示的循 环排队方法。在某些应用程序中

15、、为了等 待外部事件的发生,需设有时间一输出功 能,如分 布式系统中要等待通信线送来的信.息.。为 此,DFLASH设有延迟 原语D EL A Y。当需要时,处于执 行 态的任务通过调 用D EL A Y(。)将自己挂 在延迟清单中,当延迟时 间 到了,该队队头1 1 1队队尾1 1 1队队 头2 2 2 2 2PC BZ Z Z Z Z0 0 0S S S S S S S S S S S S S P P P P Ps P 队队 尾2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 22 2 2 2 2 2 2 2 2 2 2:l l l!0 0 0 0 0 0 0 0 0

16、 0 0 0 0 队队头 1 0 0 0 0 0 0 0 0 01 1 1 1 1 1 1 1 10 0 0队队尾 1 Q Q Q Q Q Q Q Q Q队队头1 1 1 1 1 1O O O队队尾1 1 1 1 1 1l1 1 1图6梢备清单的数 据桔构,一数值值:、尾尾.P C BZ Z Z Z Z,PCBI I IPCB.争毛PC BPC B创卜引、青旦图7信号 量的数据拮构及PCB在 信量的排队清单任 务又 重新恢 复执行。PCB的扩展部分 作 为软件定时 器,当 任务调用D EL A Y时 将所延迟的时间存人该区。在延 迟清单中,各 任务是按时间增 加方向排队,如 图8所示。为了多化

17、采川一种技 巧,只将排在队头 的PCB的时 间区域存入真正要延迟的时间,其余则存的是D T,即 它要延迟的时间与排在它前面的PCB所要延迟的时间之差。即P P P P P P P P P P P P PCB B B B BPCBZ Z Z Z Z0 0 0P P P(几 BO O O O O O O O O O O O O O O O O O O O O O O O O O OT T Timeo o o o oDTI I I I IDTZ Z Z时间增加方向图8延迟清单T IME O二T IMEOT IMEI=T I MEO+DTIT IMEZ=T I MEI+D TZ=T IMEO+D TI

18、+D TZ系统任务CLO CK(对 用 户是不 可见 的)每 隔单位时间开始执行(即每隔 5 0ms)将延迟清单中队头 的T IM E o减1。当T IME o减到。时,将该PCB从延迟清单取走,根据它的优先级使它进入执行态或预备态。四、结论本文概括地叙述了D FL A SH操作系统以及它的应用环境,重点介绍 了它的核心软件的设计方法和采 用 的技巧。关于如何在实时测量和控制仪表中(如丫谱仪系统),采用D FLA SH所提供的各种原语来设计应用程序使之在D FL A SH核心程序管理下完 成 数据获取和处理的问题,以后将另有专题介绍。应该指出,在设计带有微处理机的实时测量 仪表中软件是系统的

19、关键。在某些情况下,硬件设计是比较简单的,而软件的设计则是一项复杂的 工作,它的好坏直接影响系统的性能。完美的软件将能充分发挥系统硬件的效率,并给系统带来极大的灵活性。随着微处理机和LS I技术的 发展,软件的价格将远高于硬件。在研制带有微处理的仪表系统中,软件成本通常高于硬件,因而研制针对微处理机的系统软件和应用软件是当前迫切的任务之一。参考文献1stuartE.Madniek,JohnJ.D0 no van,OPeratingSystems,入 eGraw一HI llBookComPauy一NewYo rk,197 4.ASMALL一S C AL EREALTIMEOP E RATINGS

20、 YS T EMF ORT HEI N T E L80 8 5MICROP R OC E S S ORTany Yunli(Institute ofAtom ieEnergy,AeadeoiaSinioa)ABSTRACTThisPaPerdeseribesthedesi gnofasmZll一 s caleoPeratingsystemforIotel8085z nieroProe ess orapPl ieation.TheoPeratingsystemhaslayeredst r uetur es.Goingbattom一up,it15dividedthenucleus,thecommu

21、nicationlayer一thememory扭anageme nta ndtheaP P licationlaye r(u se rtasks).T hep.VoPer a tio ndef ined七yD IJkstr awasadoptedasc on tr olma chanizmandsomete ehniealP h ilo s op h ies.T her efore,it15fasterandmoreeffic aie”ttoresPondtl i。inter nalandexte rnaleventsoc c ur r eda nds olv e stheProblemsofe ommunie-atio n,synehronizationandmutualexclusion.ThisOPeratingsystem15dedieatedtorealti medataaequisitionandc ontrolaPPlieation.It15easierforuserusingthePrimitivesofthisope ratingsystemandadoPtingx nodnlaritymet五odtoc odetheiraP P licatio nPr ogr am.1!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁