您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > ARINC653标准技术交流
ARINC653标准技术交流----阚宏伟15010506099@163.cmARINC653标准介绍ARINC653国内的应用现状ARINC653标准介绍ARINC653:ARINC公司的600系列标准的一部分,全名“AvionicsApplicationSoftwareStandardInterface”。是为满足综合模块化航电系统(IMA)要求,基于计算机资源时空分区的编程接口标准。标准包括5部分,其中Part1是强制执行标准:Part0-OverviewofARINC653Part1-RequiredServices(mandatoryservices):Partitionmanagement,Coldstartandwarmstartdefinition,Applicationsoftwareerrorhandling,ARINC653compliance,AdaandClanguagebindings;Part2-ExtendedServices(optionalservices):Filesystemaccess,Datalogging,ServiceAccesspoints,...Part3-ConformityTestSpecificationPart4-SubsetServicesPart5-CoreSoftwareRequiredCapabilities.ARINC653标准介绍从用户角度观察的协议层次划分:核心模块(coremodule):一个至少包含了处理器资源和存储器资源的模块。该模块支持对其内存空间、处理时间和I/O等资源进行限制和隔离,以分成多个时间和空间上相互隔离的子系统。核心操作系统(coreO/S):管理核心模块、分区、APEX接口的操作系统。分区(partition):包括代码和数据的程序,它可以被装载到核心模块中的一个独立的地址空间(核心模块的子系统)。运行在核心模块上一个分区由一个或多个并发执行的进程组成,分区内所有进程共享分区所占有的子系统资源。端口(port):分区定义的资源,用于在指定的通道上发送或接收消息。端口的属性规定了它对消息传输的控制以及所传输消息的特性。通道(channel):分区通信的一个途径,它由一组逻辑上相互连接的端口组成。APEX服务(service):APEXAPplicationEXecutive定义的每个系统调用功能称为一个“服务”,标准的服务描述中只确定数据类型名称、服务名称、参数名称和参数的顺序,而忽略过程的实现。ARINC653标准介绍ARINC653标准介绍ARINC653标准介绍ARINC653标准介绍Modulelevel:systemintegrator通过XML(ARINC653Configurationfiles)定义系统中各分区的硬件隔离和分区间公共资源的布局;Processlevel:applicationdeveloper通过APEX服务申请所需的使用分区内资源。ARINC653协议规定的时空分区实现路线图ARINC653标准介绍ARINC653标准介绍REQUIREDSERVICES:《AVIONICSAPPLICATIONSOFTWARESTANDARDINTERFACEPART1》.TheprimaryobjectiveofthisSpecificationistodefineageneral-purposeAPEX(APplication/EXecutive)interfacebetweentheOperatingSystem(O/S)ofanavionicscomputerresourceandtheapplicationsoftware.TheARINC653APEXAPIprovidesthefollowingservices:lPartitionManagementlTimeManagementlProcessManagementlSamplingPortManagementlQueuingPortManagementlBufferManagementlBlackboardManagementlSemaphoreManagementlEventManagementlErrorManagementARINC653标准介绍按作用模块划分,ARINC653标准中强制遵循的APEX服务包括:l分区管理;l进程管理;l时间管理;l存储器管理;l分区内通信;l分区间通信;l健康监控。下面对各功能模块逐一展开:ARINC653标准介绍对运行在核心模块上的多个应用软件按功能可划分为多个分区,一个分区由一个或多个并发执行的进程组成,分区内所有进程共享分区所占有的系统资源。操作系统对分区所占用的处理时间、内存和其它资源拥有控制权,从而使得核心模块中各分区相互独立。分区管理保证了同时运行的多个不同类型的应用软件集合在时间上和空间上互不影响。分区管理主要包括:分区的属性;分区的调度;分区的控制。分区管理:ARINC653标准介绍a)标识:分区的唯一标识名;b)存储区定义:所用存储空间的界限与大小;c)周期:在主时间框架内激活周期;d)持续时间:激活后需要占用的处理机时间;e)关键级别:分区的关键级别;f)通信要求:分区通信时与之相关的分区和设备;g)健康监控表:分区健康监控的操作;h)入口地址:分区重启地址。分区属性固定属性:a)锁定级别:指出分区当前的锁定级别;b)操作模式:包括:空闲(IDLE)、正常(NORMAL)、冷启动(COLD_START)、热启动(WARM_START)。c)启动方式:正常启动(NORMAL_START)、分区重启动(PARTITION_RESTART)、模块级健康重启(HM_MODULE_RESTART)、分区级健康重启(HM_PARTTITION_RESTART)。可变属性:分区管理:ARINC653标准介绍分区调度在时间上具有严格的确定性。分区调度主要完成按固定的、基于周期的时间序列进行CPU资源的分配,每个分区按照主时间框架分配给它的分区窗口(一个或多个)被调度程序所激活。对分区的特定设置而言,调度是固定的。分区调度调度单元是分区;分区没有优先级;分区调度算法预先确定,并按照固定周期重复执行,在每个周期内至少为每个分区分配一个分区窗口;核心模块对分区资源的控制是排他性的。分区管理:ARINC653标准介绍操作系统正常运行时即可启动分区。每个分区使用的资源(如:通道、进程、队列、信号量、事件等)在分区创建的初始化阶段指定并创建,然后分区进入正常操作模式。健康监控功能在响应致命错误时将重启分区。分区控制分区管理:ARINC653标准介绍APEX服务接口:获得分区状态(GET_PARTITION_STATUS);设置分区的操作模式(SET_PARTITION_MODE);分区管理:ARINC653标准介绍每个分区由一个或多个进程组成,进程管理主要负责分区内进程的创建、调度和删除等工作。进程分为按固定频率执行的周期进程和由事件触发的非周期进程两类。进程管理主要包括:进程属性定义;进程状态转换;进程控制;进程调度。进程管理:ARINC653标准介绍a)名字:定义进程的名字,同一分区内的每个进程的名字唯一;b)入口地址:指明进程的启动地址;c)栈大小:确定进程运行时栈的大小;d)基本优先级:进程在创建时给定的优先级;e)周期:确定周期进程的激活周期;f)时间量:指明进程完成执行过程所需要的时间;g)截止期类型:“硬时间(hard)”或者“软时间(soft)”。进程属性固定属性:a)当前优先级:初始化时为基本优先级,运行时可以动态变化的;b)截止时间:确定进程完成的Deadline,由操作系统周期性地计算;c)进程状态:当前运行状态休眠态(dormant)、就绪态(ready)、运行态(running)和等待态(waiting)。可变属性:进程管理:ARINC653标准介绍休眠态:进程已创建,但不能竞争CPU。进程在启动前和停止后处于该状态。就绪态:可以被调度、一旦获得CPU就能被执行。运行态:正在拥有CPU控制权的进程。等待态:由于除CPU外的资源条件未满足,被系统停止调度。进程可能由于如下原因处于等待态:延时等待、特定信号量(事件/消息)等待、周期等待、等待解挂等。进程状态转换就绪态运行态等待态休眠态进程状态转换图进程管理:ARINC653标准介绍分区内可以同时存在两类进程,即周期进程和非周期进程。任何进程在任何时刻都可以被更高优先级的进程抢占。在分区激活时刻,处于就绪态的最高优先级的进程得到执行。抢占控制允许进程对部分代码进行保护性锁定,即运行时CPU资源不被分区内的其他进程抢占,直至解锁。如果因为分区窗口的结束打断了分区内一个保护性锁定的进程的执行,当该分区恢复时应保证这个进程首先被执行。激活的进程可以启动其他进程,停止自己或者其他进程,还可以按照应用需求重启。进程控制进程管理:ARINC653标准介绍进程调度算法采用基于优先级的可抢占式调度策略,即根据进程的优先级和当前状态进行调度和抢占。在发生任何进程重调度事件(由进程的直接请求引起或者分区内事件引起)时,进程调度选择分区内处于就绪状态的优先级最高的进程来分配处理器资源;如果多个进程有相同的优先级,进程调度可按先进先出(FIFO)的方式选择一个进程分配处理器资源(该进程将一直控制处理器资源直到其它进程重调度事件发生),或采用时间片轮转的方法分配处理器资源。分区内的所有进程共享分配给分区的资源。进程调度进程管理:ARINC653标准介绍APEX服务接口:获得进程标识(GET_PROCESS_ID);获得进程状态(GET_PROCESS_STATUS);创建进程(CREATE_PROCESS);设置进程的优先级(SET_PRIORITY);挂起进程自身(SUSPEND_SELF);挂起其他进程(SUSPEND);恢复进程(RESUME);停止进程自身的执行(STOP_SELF);停止其他进程的执行(STOP);开始进程的执行(START);进程初始化后延时特定时间再执行(DELAYED_START);锁定优先级抢占(LOCK_PREEMPTION);不锁定优先级抢占(UNLOCK_PREEMPTION)。进程管理:ARINC653标准介绍核心模块内分区的时间管理中的时间是唯一的,所有进程、分区、通信的时间值或者时间性能都与这个唯一的时间有关,与分区的执行与否无关。进程启动时,它的截止时间被置为当前时间加上时间量。操作系统时间管理为分区调度提供时间片、持续时间、周期;为进程调度提供时间量;为分区间和分区内通信提供超时、刷新率。在分区窗口之外发生的超时(延时或截止时间),在下一个分区窗口开始时继续起作用。时间管理:ARINC653标准介绍APEX服务接口:时间等待服务(TIMED_WAIT);周期等待服务(PERIODIC_WAIT);获得系统时间(GET_TIME);重置当前进程的deadline(REPLENISH)。时间管理:ARINC653标准介绍核心模块内,分区及与它相关的存储空间分配在系统配置(ARINC653Configurationfiles)时定义。没有相关的APEX服务接口。存储管理:ARINC653标准介绍分区内通信指同一分区内进程之间的通信。ARINC653定义的分区内进程通信机制,包括:缓存队列(Buffers-Queue)、黑板(Blackboards)、信号量(Semaphores)和事件(Events)。其中缓存队列和黑板用于进程间通信,信号量和事件用于进程间同步与互斥。缓存队列允许其中的消息以队列形式存储,消息不允许覆盖;黑板在任何时刻最多只保留一个消息,消息允许覆盖。信号量提供对资源的受控访问;事件通过通知等待进程某种条件的发生来支持进程间同步控制。分区内通信:ARINC653标准介绍消息缓存(messagebuffer)在发送过
本文标题:ARINC653标准技术交流
链接地址:https://www.777doc.com/doc-1290248 .html