ARINC653标准规定技术交流.ppt





《ARINC653标准规定技术交流.ppt》由会员分享,可在线阅读,更多相关《ARINC653标准规定技术交流.ppt(62页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、ARINC653标准技术交流,- 阚宏伟 15010506099163.cm,ARINC 653 标准介绍,ARINC 653 国内的应用现状,ARINC 653 标准介绍,ARINC 653 : ARINC公司的600系列标准的一部分,全名“ Avionics Application Software Standard Interface”。是为满足综合模块化航电系统(IMA)要求,基于计算机资源时空分区的编程接口标准。标准包括5部分,其中Part 1是强制执行标准: Part 0 - Overview of ARINC 653 Part 1 - Required Services (man
2、datory services): Partition management, Cold start and warm start definition, Application software error handling, ARINC 653 compliance, Ada and C language bindings; Part 2 - Extended Services (optional services): File system access, Data logging, Service Access points, . Part 3 - Conformity Test Sp
3、ecification Part 4 - Subset Services Part 5 - Core Software Required Capabilities.,ARINC 653 标准介绍,从用户角度观察的协议层次划分: 核心模块(core module):一个至少包含了处理器资源和存储器资源的模块。该模块支持对其内存空间、处理时间和I/O等资源进行限制和隔离,以分成多个时间和空间上相互隔离的子系统。 核心操作系统(core O/S):管理核心模块、分区、APEX接口的操作系统。 分区(partition):包括代码和数据的程序,它可以被装载到核心模块中的一个独立的地址空间(核心模块的子
4、系统)。运行在核心模块上一个分区由一个或多个并发执行的进程组成,分区内所有进程共享分区所占有的子系统资源。 端口(port):分区定义的资源,用于在指定的通道上发送或接收消息。端口的属性规定了它对消息传输的控制以及所传输消息的特性。 通道(channel):分区通信的一个途径,它由一组逻辑上相互连接的端口组成。 APEX服务(service):APEX定义的每个系统调用功能称为一个“服务”,标准的服务描述中只确定数据类型名称、服务名称、参数名称和参数的顺序,而忽略过程的实现。,ARINC 653 标准介绍,ARINC 653 标准介绍,ARINC 653 标准介绍,ARINC 653 标准介绍
5、,Module level:system integrator通过XML(ARINC 653 Configuration files)定义系统中各分区的硬件隔离和分区间公共资源的布局; Process level:application developer通过APEX服务申请所需的使用分区内资源。,ARINC653协议规定的时空分区实现路线图,ARINC 653 标准介绍,ARINC 653 标准介绍,REQUIRED SERVICES:AVIONICS APPLICATION SOFTWARE STANDARD INTERFACE PART 1.The primary objective o
6、f this Specification is to define a general-purpose APEX (APplication/EXecutive) interface between the Operating System (O/S) of an avionics computer resource and the application software. The ARINC 653 APEX API provides the following services:,l Partition Management l Time Management l Process Mana
7、gement l Sampling Port Management l Queuing Port Management l Buffer Management l Blackboard Management l Semaphore Management l Event Management l Error Management,ARINC 653 标准介绍,按作用模块划分,ARINC 653标准中强制遵循的APEX服务包括: 分区管理; 进程管理; 时间管理; 存储器管理; 分区内通信; 分区间通信; 健康监控。 下面对各功能模块逐一展开:,ARINC 653 标准介绍,对运行在核心模块上的多
8、个应用软件按功能可划分为多个分区,一个分区由一个或多个并发执行的进程组成,分区内所有进程共享分区所占有的系统资源。操作系统对分区所占用的处理时间、内存和其它资源拥有控制权,从而使得核心模块中各分区相互独立。 分区管理保证了同时运行的多个不同类型的应用软件集合在时间上和空间上互不影响。分区管理主要包括: 分区的属性; 分区的调度; 分区的控制。,分区管理:,ARINC 653 标准介绍,a) 标识:分区的唯一标识名; b) 存储区定义:所用存储空间的界限与大小; c) 周期:在主时间框架内激活周期; d) 持续时间:激活后需要占用的处理机时间; e) 关键级别:分区的关键级别; f) 通信要求:
9、分区通信时与之相关的分区和设备; g) 健康监控表:分区健康监控的操作; h) 入口地址:分区重启地址。,分 区 属 性,固定属性:,a) 锁定级别:指出分区当前的锁定级别; b) 操作模式:包括:空闲(IDLE)、正常(NORMAL)、冷启动(COLD_START)、热启动(WARM_START)。 c) 启动方式:正常启动(NORMAL_START)、分区重启动(PARTITION_RESTART)、 模块级健康重启(HM_MODULE_RESTART)、分区级健康重启(HM_PARTTITION_RESTART)。,可变属性:,分区管理:,ARINC 653 标准介绍,分区调度在时间上具
10、有严格的确定性。分区调度主要完成按固定的、基于周期的时间序列进行CPU资源的分配,每个分区按照主时间框架分配给它的分区窗口(一个或多个)被调度程序所激活。对分区的特定设置而言,调度是固定的。,分 区 调 度,调度单元是分区; 分区没有优先级; 分区调度算法预先确定,并按照固定周期重复执行,在每个周期内至少为每个分区分配一个分区窗口; 核心模块对分区资源的控制是排他性的。,分区管理:,ARINC 653 标准介绍,操作系统正常运行时即可启动分区。每个分区使用的资源(如:通道、进程、队列、信号量、事件等)在分区创建的初始化阶段指定并创建,然后分区进入正常操作模式。健康监控功能在响应致命错误时将重启
11、分区。,分 区 控 制,分区管理:,ARINC 653 标准介绍,APEX服务接口:,获得分区状态(GET_PARTITION_STATUS); 设置分区的操作模式(SET_PARTITION_MODE);,分区管理:,ARINC 653 标准介绍,每个分区由一个或多个进程组成,进程管理主要负责分区内进程的创建、调度和删除等工作。进程分为按固定频率执行的周期进程和由事件触发的非周期进程两类。进程管理主要包括: 进程属性定义; 进程状态转换; 进程控制; 进程调度。,进程管理:,ARINC 653 标准介绍,a) 名字:定义进程的名字,同一分区内的每个进程的名字唯一; b) 入口地址:指明进程的
12、启动地址; c) 栈大小:确定进程运行时栈的大小; d) 基本优先级:进程在创建时给定的优先级; e) 周期:确定周期进程的激活周期; f) 时间量:指明进程完成执行过程所需要的时间; g) 截止期类型:“硬时间(hard)”或者“软时间(soft)”。,进 程 属 性,固定属性:,a) 当前优先级:初始化时为基本优先级,运行时可以动态变化的; b) 截止时间:确定进程完成的Deadline,由操作系统周期性地计算; c) 进程状态:当前运行状态休眠态(dormant)、就绪态(ready)、 运行态(running)和等待态(waiting)。,可变属性:,进程管理:,ARINC 653 标
13、准介绍,休眠态:进程已创建,但不能竞争CPU。进程在启动前和停止后处于该状态。 就绪态:可以被调度、一旦获得CPU就能被执行。 运行态:正在拥有CPU控制权的进程。 等待态:由于除CPU外的资源条件未满足,被系统停止调度。进程可能由于如下原因处于等待态:延时等待、特定信号量(事件/消息)等待、周期等待、等待解挂等。,进 程 状 态 转 换,进程管理:,ARINC 653 标准介绍,分区内可以同时存在两类进程,即周期进程和非周期进程。任何进程在任何时刻都可以被更高优先级的进程抢占。在分区激活时刻,处于就绪态的最高优先级的进程得到执行。 抢占控制允许进程对部分代码进行保护性锁定,即运行时CPU资源
14、不被分区内的其他进程抢占,直至解锁。如果因为分区窗口的结束打断了分区内一个保护性锁定的进程的执行,当该分区恢复时应保证这个进程首先被执行。 激活的进程可以启动其他进程,停止自己或者其他进程,还可以按照应用需求重启。,进 程 控 制,进程管理:,ARINC 653 标准介绍,进程调度算法采用基于优先级的可抢占式调度策略,即根据进程的优先级和当前状态进行调度和抢占。在发生任何进程重调度事件(由进程的直接请求引起或者分区内事件引起)时,进程调度选择分区内处于就绪状态的优先级最高的进程来分配处理器资源; 如果多个进程有相同的优先级,进程调度可按先进先出(FIFO)的方式选择一个进程分配处理器资源(该进
15、程将一直控制处理器资源直到其它进程重调度事件发生),或采用时间片轮转的方法分配处理器资源。分区内的所有进程共享分配给分区的资源。,进 程 调 度,进程管理:,ARINC 653 标准介绍,APEX服务接口:,获得进程标识(GET_PROCESS_ID); 获得进程状态(GET_PROCESS_STATUS); 创建进程(CREATE_PROCESS); 设置进程的优先级(SET_PRIORITY); 挂起进程自身(SUSPEND_SELF); 挂起其他进程(SUSPEND); 恢复进程(RESUME); 停止进程自身的执行(STOP_SELF); 停止其他进程的执行(STOP); 开始进程的执
16、行(START); 进程初始化后延时特定时间再执行(DELAYED_START); 锁定优先级抢占(LOCK_PREEMPTION); 不锁定优先级抢占(UNLOCK_PREEMPTION)。,进程管理:,ARINC 653 标准介绍,核心模块内分区的时间管理中的时间是唯一的,所有进程、分区、通信的时间值或者时间性能都与这个唯一的时间有关,与分区的执行与否无关。进程启动时,它的截止时间被置为当前时间加上时间量。操作系统时间管理为分区调度提供时间片、持续时间、周期;为进程调度提供时间量;为分区间和分区内通信提供超时、刷新率。 在分区窗口之外发生的超时(延时或截止时间),在下一个分区窗口开始时继续
17、起作用。,时间管理:,ARINC 653 标准介绍,APEX服务接口:,时间等待服务(TIMED_WAIT); 周期等待服务(PERIODIC_WAIT); 获得系统时间(GET_TIME); 重置当前进程的deadline(REPLENISH)。,时间管理:,ARINC 653 标准介绍,核心模块内,分区及与它相关的存储空间分配在系统配置(ARINC 653 Configuration files)时定义。没有相关的APEX服务接口。,存储管理:,ARINC 653 标准介绍,分区内通信指同一分区内进程之间的通信。ARINC 653定义的分区内进程通信机制,包括:缓存队列(Buffers-Q
18、ueue)、黑板(Blackboards)、信号量(Semaphores)和事件(Events)。其中缓存队列和黑板用于进程间通信,信号量和事件用于进程间同步与互斥。 缓存队列允许其中的消息以队列形式存储,消息不允许覆盖; 黑板在任何时刻最多只保留一个消息,消息允许覆盖。 信号量提供对资源的受控访问; 事件通过通知等待进程某种条件的发生来支持进程间同步控制。,分区内通信:,ARINC 653 标准介绍,消息缓存(message buffer)在发送过程中,等待发送的消息按照先进先出次序存放在缓存队列中。缓存队列中可存放消息的数量由创建时缓存区的大小决定。 接收消息的进程按照先进先出或优先级次序
19、原则排队接收缓存消息。在按优先级次序排队的情况下,相同优先级的接收进程按照先进先出原则排队。接收消息的进程的排队原则在缓存队列创建时定义。 如果多个进程等待一个缓存队列,当这个缓存队列不空,则排队原则(先进先出原则或者优先级原则)将决定哪个进程获得消息。操作系统将把该进程从等待队列中移出,并置为就绪态,并将消息从缓存队列中移出。 如果一个进程试图从空缓存队列中接收消息,或者发送消息到满的缓存队列,操作系统将产生进程重调度,该进程将被放入等待队列中,等待一段指定的时间,如果在该段时间内没有消息被接收或者发送,操作系统将自动从队列中移出该进程,将其置为就绪状态。,分区内通信:,缓 存,ARINC
20、653 标准介绍,APEX服务接口(Buffer):,创建消息缓存(CREATE_BUFFER); 发送消息(SEND_BUFFER); 接收消息(RECEIVER_BUFFER); 获取消息缓存的标示(GET_BUFFER_ID); 获取消息缓存的状态(GET_BUFFER_STATUS)。,分区内通信:,ARINC 653 标准介绍,分区内通信:,ARINC 653 标准介绍,黑板中的消息不允许排队,任何写到黑板的消息将一直保持直到被清除或者被新消息覆盖。这就允许发送进程在任何时刻都能发送消息,允许接收进程在任何时刻都可以访问最新的消息。 分区内任何进程可以从黑板上读取消息、在黑板上写一个
21、消息或者清空黑板。 如果进程试图从空黑板中读取消息,操作系统将产生进程重调度,该进程将被放入等待队列中,等待一段指定的时间,如果在该段时间内没有消息到达,操作系统将自动从队列中移出该进程,将其置为就绪状态。 当有消息到达黑板上时,操作系统将从进程等待队列中移出所有等待进程,将他们置为就绪状态,而消息仍然保留在黑板上。当黑板被清除时,黑板变为空状态。,分区内通信:,黑 板,ARINC 653 标准介绍,APEX服务接口(Blackboard):,创建黑板(CREATE_BLACKBOARD); 写黑板消息(DISPLAY_BLACKBOARD); 读黑板的消息(READ_BLACKBOARD);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- arinc653 标准规 技术交流

限制150内