本系列学习笔记基于 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. 【VBA】MsgBox用法

    MsgBox用法: Sub subMsgBox() Dim iok As Byte iok = MsgBox("是否XXX", vbYesNoCancel + vbQuestion ...

  2. OO unit2 summary

    Unit2 一.第一次作业 1.UML 2.Sequence Diagram 3.同步块设置与锁处理 采用了生产者-消费者模式,用共享对象来连接不同的线程. 第一次作业中,我有三个线程:Receive ...

  3. C#WebService的创建与发布

    VS中新建项目-Web-ASP.NET Web应用程序 然后确定,选择空模版就可以了 其中CRMService.asmx是点击项目新建Web服务(asmx) 这样基本的功能就能用了,然后就是发布 点击 ...

  4. C#进阶学习4--反射(Reflection)

    一.反射的定义 审查元数据并收集关于它的类型信息的能力. 二.基础概念 (1)Assembly:定义和加载程序集,加载在程序集中的所有模块以及从此程序集中查找类型并创建该类型的实例. (2)Modul ...

  5. 【LeetCode每日一题 Day 2】2. 两数相加

    大家好,我是编程熊,今天是LeetCode每日一题的第二天,一起学习的是LeetCode第二题<两数相加>. 题意 给你两个 非空 的链表,表示两个非负的整数.它们每位数字都是按照 逆序 ...

  6. 富文本编辑器之游戏角色升级ing

    一.前言 想必大家看到这个标题,心中不禁会浮现几个问题: 什么是富文本编辑器? 富文本编辑器和游戏角色有什么关系? 为什么是升级ing? 什么是富文本编辑器--富文本编辑器集成了格式设置.媒体嵌入.社 ...

  7. Linux中su和sudo的用法

    su -#su - oldboy //当执行这个命令的时候表示切换到oldboy用户,并且重新读取用户环境相关配置文件,具体的来说就是执行下用户家目录下.bash_profile和.bashrc文件, ...

  8. error C3646: 未知重写说明符

    记录一个报错 error C3646: 未知重写说明符 ①循环引用 在项目文件变多时,由于组织不当,很容易出现头文件的循环引用 有时候虽然没有出现循环引用,但是头文件多处被include :适当的使用 ...

  9. 26、mysqlsla慢查询日志分析工具

    1.介绍: mysqlsla是hackmysql.com推出的一款MySQL的日志分析工具,可以分析mysql的慢查询日志.分析慢查询非常好用,能针 对库分析慢查询语句的执行频率.扫描的数据量.消耗时 ...

  10. Pygame 入门基本指南

    最近正在利用 Python 制作一个小游戏,但对于 Pygame 不熟悉,故在学习的过程记录相关知识点 Pygame 中文文档下载:Here Pygame第1-1课:入门 什么是Pygame? Pyg ...