《ARINC 653标准技术交流PPT》由会员分享,可在线阅读,更多相关《ARINC 653标准技术交流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 标准介绍,核心模块内分区的时间管理中的时间是唯一的,所有进程、分区、通信的时间值或者时间性能都与这个唯一的时间有关,与分区的执行与否无关。进程启动时,它的截止时间被置为当前时间加上时间量。操作系统时间管理为分区调度提供时间片、持续时间、周期;为进程调度提供时间量;为分区间和分区内通信提供超时、刷新率。 在分区窗口之外发生的超时(延时或截止时间),在下一个分区窗口开始时继续起作用。,时间管理:,ARINC 653 标准介绍,APEX服务接口:,时间等待服务(TIMED_WAIT); 周期等待服务(PERIODIC_WAIT); 获得系统时间(GET_TIME); 重置当前进程的deadline(REPLENISH)。,时间管理:,ARINC 653 标准介绍,核心模块内,分区及与它相关的存储空间分配在系统配置(ARINC 653 Con