AUTOSAR AP执行管理-概述

什么是执行管理

执行管理是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现在肩负起了认证应用的责任,有多种机制来检查完整性和可信度

猜你喜欢

转载自blog.csdn.net/usstmiracle/article/details/132171348