简析IRMX实时多任务操作系统

上传人:cl****1 文档编号:560232020 上传时间:2023-02-15 格式:DOC 页数:13 大小:35KB
返回 下载 相关 举报
简析IRMX实时多任务操作系统_第1页
第1页 / 共13页
简析IRMX实时多任务操作系统_第2页
第2页 / 共13页
简析IRMX实时多任务操作系统_第3页
第3页 / 共13页
简析IRMX实时多任务操作系统_第4页
第4页 / 共13页
简析IRMX实时多任务操作系统_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《简析IRMX实时多任务操作系统》由会员分享,可在线阅读,更多相关《简析IRMX实时多任务操作系统(13页珍藏版)》请在金锄头文库上搜索。

1、简析IRMX实时多任务操作系统一5-jfIX.住寺鬻/tI简析IRMX实时多任务操作系统陈炬编译第一部分目I官一个计算机系统可以分成单CPU系统,多CPU系统和网络系统,就单CPU系统来说,可分为单任务方式和多任务方式.单任务方式即对任务的处理顺序完成的|多任务方式即多个任务可以同时并行执行,同时共享一个CPU.有许多操作系统可以满足多任务的处理要求.如UNIX,os/z,RMX等都是属亍多任务操作系统,对于多任务操作系统,又可分成分时多任务操作系统和实时多任务操作系统,分时多任务操作系统(UNIX,OS/2)是采用时间片轮转法(TIMESHARING)来完成任务切换的,实时多任务操作系绕(R

2、MX)则是采用事件驱动(EVENTDIRVEN)完成任务切换,一个有效酌实时系统必须能对外部事统做出致耐的响直,这通常是以中断方式完成的.IRMx操作系统是一个实对,多任务操作系统,具有实时,多任务,面向目标设计,层次模块结构等特色.它强调的是实时性与开放性,所谓实时性,就是指能讯遮响应外部中断,并能及时启动任务处理中断,所谓开放性,即指整个操作系统对用户是敞开的,用户可深人刭操作系统的内部各层次,用户作业与摄作系统是溶为一体的.开放性是与RMX的层次模块结构相联系的,RMX操作系统是由若干完成各种系统功能的楼块(也称层次)组成的(图-)RMX支持用户在各层次上的应用开发,即让用户根据需要,对

3、操作系统进行裁剪,选择不同的层次,结合用户作业,以形成用户自己的实时应用系统,这实际上就是一个用户版本的操作系统.KMX-特性给了用户最充分的自由去选择系统的大小与功能,这是RMX不同于其它0.s的最主要lm,结束语.1,.的地方.若干具有一定属性和相应系统诵用的目标(OBJECT)构成了RMX的最小数据结构RMX的面向目标设计,使得RMX易于使用与开发,程序员只舞将注意力集中到应用所需要的目标上,进行高层次的设计.RMX的目标主要有任务(TASK),段(SEGMENT),作业(JOB),信箱(MAILBOX),信号量(SEMAPHOR),临界区(REGION),甩户目标(usER0BJECT

4、).IRMX实时多任务操作系统是目前在实时控制领域方面最流行的操作系统.是为INTEL的ISBC8088,ISBC8086,ISBC80286,ISBC386和基于这些单板的微机所设计的.硬件上,IRMX支持三种工业标准总线结构,MULTIBUSI,MULTIBUS,AT总线,如INTEL系统520是MULTIBUS的系统,可以允许多个CPU,多作业系统同时操作,如同一个庞大的两络系统,拥有优异的性能系统320是MULTIBUSI的系统,是目前应用最广的系绕,在目防的电信,电力,交通,医疗,各种仪器上都有许多非常成功妁例子.RMX操作系统主要有:RMX86,RMX,RMX,RMX86是为808

5、B所设计的,采用实方式,最大寻址为1MB,RMX可在80286,80386,80486上运行,因此采用了保护虚地址方式,最大寻址为16MBRMx是为80389,80486设计的,采用保护虚地址方式,最大寻址达4GB.第=部分IRMX操作系统的功能描述操作系统具有管理计算机资源的功能.IRMX的资探管理的功能包括I处理器管理,存贮器管理,中断管理,iio管理,文件管理等.SUPER/XT机上开发的SZMRMX软件,实现了sUPER/xT机与IRMx系统主机的联机,使xT机成为IRMX系统的一台智能终端,充分发挥了SUPER/XT机和IRMX系绕的功能,这是非常有意义的工作.对于非经常性使用的终端

6、,我们都可以用单台计算机来楼拟仿真,而不必去另外购买终端设备.这种方法对其它系统也具有普洎的意义.论文中所用图侧如下,处理器管理处理器管理就是确立处理器调度算法,保证处理器的有效分配.RMX的处理器管理包括:任务的管理调度,任务间的通讯管理,作业管理,中断管理,存贮管理,RMX的核心层(NUCLEUS)提供这些管理功能.通过核心层的系统调用去操纵相关的RMX的目标(OBJECT)(如:住务,作业,信箱),溉可完成相应的功能.1.多任务及任务管理多任务是RMX的十基本特蛙,采用多任务是基子以下原因t一个实时系绕必须对外郜事件设出抉速响应.外部事件的发生是随杌,并行和异步的,用单一的程序对这些外部

7、事件是复杂和困难的,解决上述问题的方法,是用组彼此独立的程序,去替代单一的程序,每一十程字对应于一个单一的事件.这些程序中的每一个就形成了RMX的一十任务.多任务简化了生成应用系统的过程,使用芦能骖以更快的速度,更小的开销建立系统,并且由于任务与事件的一对一关系,所以使代码更加简单便于维护.从程序员角度看,RMX的任务是写成无参过程的程序代码,典型的RMX任务是段无限循环休.任务具有任务优先级和五种任务状态这两种属性,根据任务的重要程度赋予任务相应的优先毁,由0到225,0是最高优先缎.驻留在内存的任务代码必须经过建立才能成为动态的任务,建立住务是在运行期间通过核心层系统调用Rl.$CREAT

8、E$TASK完成的,建立任务时,结定了任务的优先级,起始地址等相应的参数.任务一经建立,就处于就绪状态(READYSTATE)中,被建立的多个任务在就绪状态形成了就绪队列,队列中具有最高优先级的任务进入运行状态(RuNNINGsTTE)图2一(1),()所示.运行的任务在等待某个事件时(如来自其它任务的信号)便处于睡脶状态(sLEEPsTATE),也可利用校心层系统调用RQ$SLEEP将自己置于睡醒杰一段时间当某件事件来临或睡眠期巳过,任务的睡眠态进入就绪队列.图2一(8),(4)所示.运行的任务能通过棱心调用RO$SUSPEND)将自身及其它任务挂起,并且能重复挂起若干敬.处于挂起状态(su

9、sPENDsTATE)的任务,必须由其它任务解挂(RESUME)才能进入就绪列.当任务等待外部中断时,常常处于挂起状态,当中断到来时,便进入就绪队剜,进而投入运行,完成对中断的处理,图2一(5)(6)(7)(8)当就绪队列中有进人一十更高优先毁的任务,此任务便占CPU,进人运行状态,而当前正在运行的任务回到就绪状态.当一个任务不再需要时,可用RQ$DELETE$TASK,将其从就绪队列中剔除.RMx正是通过这些活动着的基于事件驱动的任务来完成实时功能.任务的管理和调度就是核心层根据各任务接赋予的不同的优先级和任务状态,保证任一时刻系统中中仅有一个优先级最高的就靖任务运行2.任务闻的通讯管理IR

10、MX提供一些简单的方法来实现任务的彼此协调,即在多住务环境下,实现任务间的通讯,互斥与屙步如前所述,实时应用系统检铡的是多个并发,异步的事件.多任务是一种用来简化实时系统设计的技巧,多任务使用户可以将注意力集中到单十事件曲处理上,然而,若干事件的处理是彼此相联系的,如:处理某个事件的任务可能需要知道,当该事件发生时,另事件发生的次数.这就需要任务的彼此协调.住务的交拄有三种方式,信息交换,互斥,同步.(1)信息交换任务间交换信息有两种目的一目的之一是在任务间传递数据,目的之二是为了导I起其它任务的注意力,达到任务n的同步.RMX提供一个弥为信箱(MAILBOX)的目标及管理信箱的一组系统调用,

11、以支持任务间的信皂交换.通过信箱,在任务间传递信息是借助于另一个RMX目标一段(SEGMENT)来实现的.段是内存中一殷连续区域,用棱心系绕用RQ$CREATE$SEGMENT,RQ$DELETE$SEGMENT来建段,删段实际上任务间传递的不是实际的数据而是将存放数据的段的目标标记,即数据段指针,从发送任务通过信箱传给接任务,使接收任务识别该标记,可停用该数据区,这就相当于数据传给了接收任务.当接待接收信息时,使处于睡眠状态任务间不直接传递信息,而是通过信箱,其原因就在于任务的运行是异步的,且任务运行的次序是不可知的,这样两个任务传递信息,就必须有一个地方来暂存数据和信息.如发送任务巳将段目

12、标标记送人倌箱,而接收任务还未至来,则把发达信息暂存在信箱,以等持接收任务来取.一13(2)互斥,同步任务间的互斥,同步通过信号量,临界区来实现,信号量临界区的概念与其它操作系统相仿,这里就不重述了.3.作业管理1RMX支持多道程序设计,这可以充分利用CPU及其它系统资源.RMX可为每个不几的应用提供一个单独的运行环境,也就是为它们提供相应的存贮资源,文件资源等一系列目标.有时不同应用的任务之间还需相互传递信息以达到资源共享.为了建立多个运行环境,使它们互不影晌.同时叉能相互通讯,RMX人了叉一目标类型一作业的概念.作业是相关任务及它们所需的资源,如存贮空间,信箱,信号量等的集合,作业是从动的

13、目标,它仅仅提供相关任务的运行环境,培出不同应用的运行边界.系统中作业是树形结构,根作业是由横心层提供的,其它各级作业都是系统作业和由用户动态建立的或菜统配置时,用户指定的.作业的建立是由任务利用核心层系统调用RP$GREATE$JOB来完成的,任何作业都可利用任务来建立下一级作业.伴随着作业的建立,将建立作业的初始任务和与作业相关的作业目标目录和存贮弛.作业的目标,目录用做记录本作业中的系统目标,以保证不同作业中任务相互传递目标.核心提供登录(CATALOG)与查(LOOKUP)系统调用,任何作业可将其目标登录在根作业目标目录上,男一作业可通过查找该目标以达到作业间数据传递,找存贮池是作业中

14、目标建立时所需存贮空间来髹,存贮池也是树形结构,每个作业的存贮池都是从其父作业存贮弛分配而来的.作业有其相应的一组参数值,如:它的目标目录的最大容量,存贮池的最大容量,最小容置,建立作业,必须规定这些参数值.横心层提供一组用于作业管理的系统调用.4.中断管理RMX操作系统是利用事件驱动(EVENTDRIVEN)来驱动任务对外部事件做出快速响应,这里的事件驱动即为中断.RMX对中断的管理是利用中断处理程序(INTERRUPTHANDLER)和中断任务(INTERRUPTTASK)来完成的.中断处理程序是一段程序过程体.对于每一个中断般都可分给一个相应的中断处理程序.当外部中断事件来时,硬件触发中

15、断处理程序执行,中断处理程序将进行保护现场,简单的中断处理及中断处理后,恢复现场等工作.在中断处理程序执行完后,如需对该中断提供进一步的服务,中断处理程序将启动相应的中断任务投人运动,同时退出中断.在中断任务运行时,高优先级的中断将被开放.RMX采用中断处理程序,中断任务的中断管理方式正是为了保证系统的实时性.因为在中断处理程亭执行时,所有外部中断都被关闭.当中断处理需要较长一段时间时,如有更高优先级的中断到来,则不能得到及时响应,从而削弱了实时性.让中断处理程序快速做出一些简单处理,将更多的处理交给中断的任务,中断任务运行时,高优先级中断被打开,这就能保证高优先级中断得到及时响应.任务利用系统调用

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

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号