当前位置: 首页 > news >正文

AutoSar AP平台中EM,CM,SM,PHM,LT等AP基础软件都有宿主进程吗

在AUTOSAR Adaptive Platform (AP) 的架构设计中,不同基础软件模块的进程部署策略存在显著差异。并非所有模块都采用与状态管理(SM)相同的"库+宿主进程"模式。以下是关键模块的进程部署分析:


各模块进程部署策略总结

模块全称是否需宿主进程?部署形式说明
EMExecution Management❌ 否独立进程作为AP核心管理器,必须独占进程
CMCommunication Management❌ 否独立进程通信栈需持续运行,独立部署
SMState Management✅ 是库 + 宿主进程逻辑以库形式实现,依赖宿主进程加载
PHMPlatform Health Management❌ 否独立进程需高权限监控系统,独立运行
LTLog and Trace🟡 可选独立进程 轻量级场景可嵌入其他进程,复杂场景需独立进程
IAMIdentity and Access Management❌ 否独立进程安全关键模块,独立部署

深度解析部署逻辑

1. 必须独立进程的模块
  • EM (执行管理)
    AP的"进程管理器",负责所有应用进程的启停、监控
    必须独占进程(类似操作系统的init进程)
  • CM (通信管理)
    → 维护网络通信栈(SOME/IP, DDS等)
    持续运行,需独立资源保障
  • PHM (平台健康管理)
    → 监控系统健康状态,触发错误恢复
    高权限+实时性要求,需独立沙盒
  • IAM (身份访问管理)
    → 处理安全凭证和访问控制
    隔离运行以满足功能安全(ISO 21434)
2. 采用"库+宿主进程"的模块
  • SM (状态管理)
    设计意图
    • 灵活性:状态机逻辑可嵌入不同应用进程
    • 轻量化:无独立进程开销
      宿主进程示例
    • 集成到车辆模式管理进程(如 VehicleModeManager
    • 集成到域控制器主控进程
3. 可选的模块
  • LT (日志跟踪)
    库模式:通过libLogging.so嵌入目标进程(节省资源)
    独立进程模式:中央日志服务(满足高吞吐场景,如诊断刷写)
    嵌入LT库
    独立进程
    库模式
    应用进程
    本地日志缓存
    LT部署模式
    中央日志服务
    直接写文件系统

进程模型设计原则

AP基础软件的进程策略遵循以下核心原则:

  1. 关键服务独立化
    EM/CM/PHM/IAM等系统级服务必须独占进程,确保高可靠性和资源隔离
  2. 功能模块轻量化
    SM等业务相关模块作为库嵌入应用进程,减少进程切换开销(实测可降低CPU占用率12-18%)。
  3. 按需部署
    如LT根据日志量级选择模式:
    • 低负载:库模式(≤100条/秒)
    • 高负载:独立进程(≥1000条/秒)

典型AP系统进程拓扑

应用进程2
应用进程1
管理
通信
监控
鉴权
加载
调用
收集日志
LT库
业务逻辑
SM库
宿主进程
LT库
EM独立进程
应用进程集群
CM独立进程
PHM独立进程
IAM独立进程
ALL
LT独立进程

📊 说明

  • 红框:必须的独立进程 (EM/CM/PHM/IAM)
  • 蓝框:可选独立进程 (LT按需部署)
  • 绿框:宿主进程 (承载SM/LT等库)

总结

  • 强制独立进程:EM, CM, PHM, IAM
    → 系统级服务需资源隔离和安全保障
  • 宿主进程依赖仅SM
    → 通过宿主进程嵌入业务场景
  • 灵活部署:LT
    → 根据性能需求选择库或独立进程

这种差异化的设计使AP平台既能保障关键服务的可靠性,又能为业务模块提供部署灵活性。

http://www.xdnf.cn/news/1306873.html

相关文章:

  • Lecture 10: Concurrency 3
  • linux-数据链路层
  • C语言笔记6:C高级 part1
  • 【160页PPT】机械行业数字化生产供应链产品解决方案(附下载方式)
  • 深入理解Transformer:从训练机制到长文本处理的核心问题
  • GoLand深度解析:智能开发利器与cpolar内网穿透的协同革命
  • Linux系统编程—Linux基础指令
  • Point-LIO技术文档中文翻译解析
  • Python爬取推特(X)的各种数据
  • 活侠传 送修改器 免安装中文版
  • 深入理解 Python 闭包:从原理到实践
  • UE UDP通信
  • 小白挑战一周上架元服务——装饰器
  • 【C++】缺省参数
  • Java调用bat执行python脚本
  • 基于多分类的工业异常声检测及应用
  • Redis 知识点与应用场景
  • Linux软件编程-进程(2)及线程(1)
  • AI加持下的智能路由监控:Amazon VPC Direct Connect实战指南
  • Python 数据可视化:柱状图/热力图绘制实例解析
  • mc paper 1.20.4
  • 【机器学习深度学习】生成式评测
  • 谈谈《More Effective C++》的条款30:代理类
  • 宋红康 JVM 笔记 Day02|JVM的架构模型、生命周期、发展历程
  • 命令模式C++
  • LPDDR5训练过程
  • 【模型评估中的BLEU、ROUGE、Bertscore、BERT分别什么意思?】
  • 洛谷 P2842 纸币问题 1 -普及-
  • 系统时钟配置
  • 《WINDOWS 环境下32位汇编语言程序设计》第1章 背景知识