本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf

缩写

  • EM:Execution Management
  • AP:AUTOSAR Adaptive Platform
  • FC:Functional Cluster
  • AA:Adaptive Application
  • ARA:AUTOSAR Runtime for Adaptive Applications
  • SM:State Management
  • CM:Communication Management
  • PHM:Platform Health Management

5 执行管理

5.1 概述

EM 负责系统执行管理的方方面面,包括平台初始化、启动/关闭应用。EM 和操作系统一起,负责应用的运行时调度(准确说,应用的运行时调度是由操作系统负责,而非由执行管理负责)。

5.2 系统启动

机器启动,操作系统最先初始化,然后 EM 作为操作系统的初始进程之一启动。EM 负责启动其他 FC 和平台应用。平台 Foundation 启动后,EM 继续启动 AA。EM 根据 Machine Manifest 和 Execution Manifest 决定启动顺序。

如果 AP 从可信 Anchor 启动,并且在启动过程中维护信任链(chain of trust),则 EM 可以支持 Authenticated Startup。Authenticated Startup 启动过程中,EM 验证应用的真实性和完整性,如检测出异常,则阻止应用运行。通过这些机制,可以建立可信平台。

5.3 EM 职责

EM 负责 AP 和应用执行管理的方方面面,包括:

  1. 平台生命周期管理:EM 在 AP 初始化阶段启动, 负责初始化 AP 和其上部署的应用。
  2. 应用生命周期管理:EM 负责应用的有序启动/关闭。EM 根据 Machine Manifest 和 Execution Manifests 中的信息决定部署的应用集合,并且根据依赖关系决定启动/关闭顺序。根据机器状态(Machine State)和功能组状态(Function Group States),部署的应用在平台启动时或之后启动。但并不是所有应用都立即工作,因为很多应用向其他应用提供服务,等待请求到来。

EM 不负责应用的运行时调度,这是操作系统的职责。但是 EM 从 Machine Manifest 和 Execution Manifests 提取信息,并据此初始化、配置操作系统,以执行必要的运行时调度。

5.4 确定性执行

确定性执行提供了一个机制:同样的输入总能在一定的时间内计算出相同的输出。EM 区分时间、数据的确定性。时间确定性指总能在限定时间内得出结果;数据确定性指给定相同的输入,总能得出相同的输出,并且具有相同的内部状态。

EM 侧重于对数据确定性的支持,因为时间确定性通过提供足够的资源来保证。对于数据确定性,EM 提供 DeterministicClient APIs,以支持:

  • 控制 process-internal cycle
  • 确定性工作者池
  • 激活时间戳
  • 随机数

DeterministicClient 和 CM 交互,和 cycle activation 同步数据处理。DeterministicClient 支持的 API 以及和应用的交互如图所示。

5.5 资源限制

AA 允许一个 Machine 上运行多个 AA,保证 AA 之间不互相干扰是系统的本职。因此应该对 AA 的一些错误行为做一些限制,以保证其他 AA 不受影响。例如应用不能使用超过设定的 CPU 时间,以免对其他应用的正常功能产生影响。

EM 可以通过配置一个或多个 ResourceGroups 实现干扰隔离。每个进程指定一个 ResourceGroup,每个 ResourceGroup 可以指定 CPU 时间和内存限制。

5.6 应用恢复

EM 负责进程启停的状态以来管理,所以 EM 需要启动/停止进程的特权。PHM(Platform Health Management)监控进程,如果进程超出限制,可以触发恢复动作。集成根据 PHM 的软件架构需求配置 Execution Manifest,以此来决定恢复动作。

5.7 可信平台

确保平台上执行的代码有合法来源,对保证系统功能正确至关重要。保持该属性可以允许集成者构建一个可信平台。

实现可信平台的系统的一个关键是 Trust Anchor(也叫 Root of Trust)。Trust Anchor 通常实现为存储在安全环境(如不可修改的永久存储或 HSM)的公钥。

系统设计者负责保证系统从 Trust Anchor 启动,并且直到 EM 启动完成一直可信。系统设计者选择一个建立信任链的机制,基于该机制可以在系统启动时检查整个系统的完整性和真实性。然而,如果系统设计者只保证已经执行的软件的完整性和真实性,EM 从接管系统控制权开始,负责维护信任链。这种情况下,系统集成负责保证 EM 被正确配置。

举个 Trust Anchor 将 Trust 传递给系统和 AP 的例子:Trust Anchor(由定义保证的可信实体)在启动 bootloader 之前认证 bootloader,之后启动过程的每个步骤,都要先认证,再启动可执行。认证需要由一个已认证的实体进行,如先前启动的 Executable 或外部实体如 HSM。

OS 经认证启动后,应当将 EM 作为最先启动的进程之一。启动 EM 之前,要先经由一个已验证过的可信实体验证 EM 的真实性。

注意:如果不是由 Trust Anchor 验证,验证其他 Executable 的软件自身应该先被验证。举个例子:如果加密 API 要用于认证其他 Executable,加密 API 在使用前要先被其他可信实体验证。

EM 接管了启动 AA 前验证 AA 的职责。然而,有多种可能性去验证可执行代码的完整性和真实性。在 SWS_ExecutionManagement 中列出了几种可行的机制。

更多关于 Adaptive AUTOSAR 文章

https://www.cnblogs.com/tengzijian/category/1995263.html

原文地址(获取最新更新):https://www.cnblogs.com/tengzijian/p/15084635.html

Adaptive AUTOSAR 学习笔记 10 - 执行管理的更多相关文章

  1. Adaptive AUTOSAR 学习笔记 12 - 通信管理

    本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf 缩写 CM:Communicatio ...

  2. Adaptive AUTOSAR 学习笔记 8 - 干货小结:背景、技术、特征、架构、方法论和 Manifest

    官方文档下载方式及介绍情参见 Adaptive AUTOSAR 学习笔记 2 - 官方文档下载及阅读建议. 这是 Adaptive AUTOSAR 学习笔记的第 8 篇,学习笔记 3 - 7 翻译了 ...

  3. Adaptive AUTOSAR 学习笔记 3 - AP 背景、技术及特征(中文翻译)

    本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本.本文从AUTOSAR_EXP_PlatformDesign.pdf开始,一边学习,一边顺带着翻译一 ...

  4. Adaptive AUTOSAR 学习笔记 16 - 时间同步和网络管理

    本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf.作者:Zijian/TENG 原文地 ...

  5. Adaptive AUTOSAR 学习笔记 6 - 架构 - 方法论和 Manifest

    本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf 缩写 AP:AUTOSAR Adap ...

  6. Adaptive AUTOSAR 学习笔记 15 - 持久化 Persistency

    本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf.作者:Zijian/TENG 原文地 ...

  7. Adaptive AUTOSAR 学习笔记 4 - 架构

    本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf 缩写 AP:AUTOSAR Adap ...

  8. Adaptive AUTOSAR 学习笔记 7 - 应用设计和 Manifest

    本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf 缩写 AP:AUTOSAR Adap ...

  9. Adaptive AUTOSAR 学习笔记 14 - 车辆诊断

    本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf.作者:Zijian/TENG 原文地 ...

随机推荐

  1. 【NX二次开发】查找部件中的对象 UF_OBJ_cycle_objs_in_part

    返回所有层上指定类型部件中的所有对象,不管它们的当前显示状态如何.这个例程不返回表达式.指定对象.临时(系统创建的)对象或休眠对象.休眠对象指的是从模型中删除的对象例如,如果你混合了一条边,那么这条边 ...

  2. 循序渐进BootstrapVue,开发公司门户网站(3)--- 结合邮件发送,收集用户反馈信息

    在我们公司门户网站里面,如果有需要,我们可以提供一个页面给用户反馈信息,以便获得宝贵的用户信息反馈或者一些产品咨询的记录,一般这个结合邮件发送到负责人的邮箱即可.本篇随笔结合后端发送邮件的操作,把相关 ...

  3. SpringCloud Alibaba实战(7:nacos注册中心管理微服务)

    源码地址:https://gitee.com/fighter3/eshop-project.git 持续更新中-- 在上一节我们已经完成了Nacos Server的本地部署,这一节我们学习如何将Nac ...

  4. Windows 11,一个新功能,一场新屠杀

    6月24日,微软正式公布了新一代操作系统:Windows 11.这次的更新距离上一代操作系统Windows 10的发布,隔了有6年之久. 在新一代的操作系统中,包含了这些亮点: 采用了全新的UI设计. ...

  5. Java实现适配器模式

    适配器模式(Adapter) 适配器模式涉及到3个角色:要被适配的接口,适配器,目标接口 适配器的工作就是将被适配的接口转换为目标接口 "鸭子类型"就是一个典型的适配器模式:如果它 ...

  6. 02 Linux系统发送告警邮件

    # yum install mailx -y # vim /etc/mail.rc set from=hyjy2504164765@163.com smtp=smtp.163.com set smtp ...

  7. 42、sort命令

    排序和把相同的放到一起: 42.1.sort命令介绍: sort命令是一个排序介绍,简而言之就是以什么为分割符,对第几列进行什么排序操作: 42.2.sort命令参数介绍: -u #去重,会直接把重复 ...

  8. 如何跟领导解释为什么选择SpringCloud alibaba作为微服务开发框架

    什么是微服务 提到微服务不得不提Martin Fowler在2014年3月25日发表的文章 Microservices,里面给出了微服务的定义.后续国内所有关于微服务的介绍都是基于这篇文章的翻译,或加 ...

  9. 13.7Cloneable接口

    要点提示:Cloneable接口给出了一个可克隆对象.

  10. Java:Java的^运算符详解

    按位异或运算符(^)是二元运算符,要化为二进制才能进行计算,在两个操作数中,如果两个相应的位相同,则运算结果为0,否则1:例如:int a=15:int b=a^8;运算结果为:a=15:b=7:a( ...