AUTOSAR AP执行管理-概述

执行管理是AUTOSAR高级部分(AP)的关键组件,负责系统初始化、应用的启动和停止。它基于manifest文件执行操作,管理平台和应用生命周期。在系统启动时,执行管理(EM)作为初始进程加载,随后按顺序启动应用。EM确保确定性执行,提供时间与数据确定性的支持,并限制资源使用以防止干扰。此外,EM还涉及应用恢复和可信平台构建,确保可执行文件的合法性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是执行管理

执行管理是AP的一个功能组件,负责平台初始化和应用的启动/停止,它基于一个或多个manifest文件来执行上述动作,比如可执行程序何时启动,在哪启动

系统启动

当机器启动之后,OS会初始化EM作为初始进程,EM再加载其他的功能组,当平台基础组件运行起来之后,EM再根据Machine Manifest和Execution Manifest来按顺序启动平台应用和普通应用

AP的应用以进程为单位,启动指的就是启动一个进程

执行管理的功能

  1. 平台生命周期管理

EM作为AP平台启动的一部分被启动,负责AP平台和部署的应用初始化

2. 应用生命周期的管理

EM负责按顺序启动和停止部署的应用,基于Machine Manifest和Execution Manifest,从配置的应用依赖关系得出启动/停止的顺序

基于机器状态和功能组状态,应用可能在机器启动阶段被执行,也可能是之后的某些阶段,可预见的是许多应用都不会立即执行

EM不负责应用的运行时调度,这是OS的工作,然而,EM负责初始化/配置OS来使它能执行必要的运行时调度(信息从Manifest中来)

确定性执行

确定性执行提供了一种机制:使用一个给定的输入数据集,在规定时间内总是给出相同的输出

个人理解:要理解确定性执行,首先要知道程序运行中哪些是不确定的,时间上的不确定(有时执行快,有时执行慢),资源上的不确定(动态内存分配,线程分配等)和其他随机的不确定性

EM提供了时间确定性和数据确定性,前者指的是在截止时间前总是能产生输出,后者说的是输出和内部状态总是相同

EM提供的支持集中在数据确定性上,因为时间确定性可以由提供充足的资源来处理

EM提供了一组确定性客户端API来支持控制进程内循环,一个确定的线程池,激活时间戳和随机数

进一步地,确定性执行可选支持软件锁步,冗余地执行应用,并对结果进行比较

资源限制

AP平台允许在同一个机器上执行多个应用,因此确保要确保它们之间不受干扰

行为不正当的程序在影响其他程序方面应该被限制,例如,一个程序应避免消耗多于配置的CPU资源,这会影响其他应用

EM支持通过配置进程资源组来避免干扰,每个资源组可能对CPU时间或内存进行限制

应用恢复

EM负责基于状态的进程启动/停止的管理,所以它有 特殊的权限来启动和停止进程

PHM监测进程,当不符合预期时,可以触发一个恢复动作,这个恢复动作在Execution Manifest中进行配置

可信平台

为了保证系统功能的正常,确保可执行文件的合法来源是很重要的

实现可信平台的关键属性是信任根,信任根通常是存储在安全环境中的一个公钥,比如存在不可修改的持久化区域内或在HSM(硬件安全模块)内

系统设计者负责确保系统开始于信任根,直到EM模块被加载

基于系统设计者选择的机制,整个系统的完整性和可信度可能在启动时都被检查过,但如果系统设计者只确保了已经执行过的程序的完整性和可信度,那么EM在控制整个系统时就要担负起相应的职责,继续信任链的建立,这需要集成者正确配置EM

一个例子:从信任根传递信任到OS和AP,可能看起来是这样的:

  1. 信任根作为一个可信任的实体,在bootloader启动之前认证bootloader,在boot过程中的每一个子步骤,要启动的可执行程序都应该首先被认证,认证检查应该由已经认证过的实体来进行,比如先前启动过的可执行程序,或一些外部实体(HSM等)
  2. 当OS被认证启动后,它应该加载EM作为它的第一个进程,在EM启动之前,OS需要确保EM的认证已经完成,是一个可信的实体
  3. EM现在肩负起了认证应用的责任,有多种机制来检查完整性和可信度

### AUTOSAR Adaptive Platform 介绍 AUTOSAR(Automotive Open System Architecture)提供了一种开放且标准化的软件架构,广泛应用于现代汽车电子系统中。Adaptive Platform (AP) 是其中一个重要组成部分,专门设计用于满足高级驾驶辅助系统(ADAS)和其他高性能计算需求的应用场景[^1]。 #### 特点 - **灵活性**:相比Classic Platform, AP具有更高的灵活性,能够适应不断变化的需求并支持动态更新。 - **性能优化**:特别适合于需要大量处理能力的任务,如图像识别或复杂算法执行- **通信效率高**:具备高效的内部和外部通信机制,可以实现与其他ECUs以及云端之间的快速数据交换[^3]。 ### 架构概述 AP 的体系结构由多个层次构成: - **基础层(Base Layer)**:包含了操作系统(OS),实时运行环境(RTE), 和硬件抽象(HAL)等功能模块,这些组件共同构成了整个平台的基础支撑。 - **中间件(Middleware)**:负责管理各种服务接口和服务发现机制,确保不同应用之间可以通过标准方式交互操作;同时也实现了诸如时间同步、诊断等通用功能。 - **应用程序(Application Software Components, ASCs)**:位于最上层,具体实现了特定业务逻辑的功能单元,例如传感器融合、路径规划等自动驾驶相关任务[^4]。 ```cpp // 示例代码展示如何初始化一个简单的ASC #include "autosar_ap.h" int main() { initAutosarAp(); // 初始化AP环境 while(true){ updateSensorsData(); processSensorFusion(); planPathToDestination(); sleep_for(std::chrono::milliseconds(10)); } } ``` ### 使用教程 为了更好地理解和利用AUTOSAR Adaptive Platform,在实际项目启动前建议完成以下几个方面的工作: - 学习官方文档和技术白皮书,掌握核心概念及其工作原理; - 参加培训课程或者在线研讨会,获取实践经验分享和技术指导; - 尝试构建小型原型系统来熟悉工具链及开发流程,包括但不限于建模工具、编译器设置等; - 加入社区论坛交流心得并与同行保持联系以便及时获得最新资讯和支持[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值