Adaptive AUTOSAR 学习笔记 10 - 执行管理
本系列学习笔记基于 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 和应用执行管理的方方面面,包括:
- 平台生命周期管理:EM 在 AP 初始化阶段启动, 负责初始化 AP 和其上部署的应用。
- 应用生命周期管理: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 - 执行管理的更多相关文章
- Adaptive AUTOSAR 学习笔记 12 - 通信管理
本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf 缩写 CM:Communicatio ...
- Adaptive AUTOSAR 学习笔记 8 - 干货小结:背景、技术、特征、架构、方法论和 Manifest
官方文档下载方式及介绍情参见 Adaptive AUTOSAR 学习笔记 2 - 官方文档下载及阅读建议. 这是 Adaptive AUTOSAR 学习笔记的第 8 篇,学习笔记 3 - 7 翻译了 ...
- Adaptive AUTOSAR 学习笔记 3 - AP 背景、技术及特征(中文翻译)
本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本.本文从AUTOSAR_EXP_PlatformDesign.pdf开始,一边学习,一边顺带着翻译一 ...
- Adaptive AUTOSAR 学习笔记 16 - 时间同步和网络管理
本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf.作者:Zijian/TENG 原文地 ...
- Adaptive AUTOSAR 学习笔记 6 - 架构 - 方法论和 Manifest
本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf 缩写 AP:AUTOSAR Adap ...
- Adaptive AUTOSAR 学习笔记 15 - 持久化 Persistency
本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf.作者:Zijian/TENG 原文地 ...
- Adaptive AUTOSAR 学习笔记 4 - 架构
本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf 缩写 AP:AUTOSAR Adap ...
- Adaptive AUTOSAR 学习笔记 7 - 应用设计和 Manifest
本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf 缩写 AP:AUTOSAR Adap ...
- Adaptive AUTOSAR 学习笔记 14 - 车辆诊断
本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf.作者:Zijian/TENG 原文地 ...
随机推荐
- 【VBA】读取另一个excel工作簿中的内容
后台打开工作簿读取内容源码: Sub subOpenWorkbook() Dim datebase As String datebase = "... ....xlsx" Appl ...
- 题解 P6622 [省选联考 2020 A/B 卷] 信号传递
洛谷 P6622 [省选联考 2020 A/B 卷] 信号传递 题解 某次模拟赛的T2,考场上懒得想正解 (其实是不会QAQ), 打了个暴力就骗了\(30pts\) 就火速溜了,参考了一下某位强者的题 ...
- tree (一本通练习||清华集训互测)
tree 内存限制:512 MiB 时间限制:3000 ms 标准输入输出 题目类型:传统 评测方式:文本比较 题目描述 给你一个无向带权连通图,每条边是黑色或白色.让你求一棵最小权的恰好有nee ...
- 测试开发之网络篇-IP地址
IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异.这里介绍一下目前广泛使用的IPv4版本. IP地址使用一种统一的格式,为互联 ...
- MySQL:一条更新语句是如何执行的
目录 引言 更新流程图 更新流程说明 第一步:更新数据 数据页内存 Change Buffer 第二步:缓存日志内容 redo log buffer binlog cache 第三步:日志写入磁盘 两 ...
- centos7 安装最新的 wiki confluence
41.1 下载confluence Confluence是一个企业级的Wiki,可用于企业.部门.团队内部进行信息共享和协同编辑. 下载地址: https://www.atlassian.com/so ...
- Jquery 插件 chosen_v1.8.7 下拉复选框带搜索功能
地址:https://harvesthq.github.io/chosen/ 效果: 因为只需要这个功能,就只研究这个功能了,代码: <!doctype html> <html la ...
- gRPC 拦截器能做些什么?
什么是拦截器? 拦截器是一种横切维度的功能延展. 具象说明一下,高速收费站就是一种拦截器.它可以做什么?收费,查证,交通控制等等,面向所有穿行过往的车辆. gRPC 拦截器主要分为两种:客户端拦截器( ...
- 面试:Spring面试知识点总结
Spring知识点总结 1. 简介一下Spring框架. 答:Spring框架是一个开源的容器性质的轻量级框架.主要有三大特点:容器.IOC(控制反转).AOP(面向切面编程). 2. Spring框 ...
- mybatis 批量新增-批量修改-批量删除操作
mapper.xml <!-- 批量新增 --> <insert id="saveBatch" parameterType="java.util.Lis ...