系统架构设计师备考第61天——嵌入式系统架构模式&操作系统&数据库&中间件

一、两种典型的嵌入式系统架构模式

1. 层次化模式架构
  • 核心思想:通过抽象分层实现概念一致性,高层依赖低层实现具体功能。

  • 两种类型

    类型 调用规则 优点 缺点
    封闭型 仅能调用同层或相邻下层对象的方法 封装性好,易移植 性能较低
    开放型 可调用同层或任意下层对象的方法 性能高 破坏封装,移植性差
  • 适用场景:系统存在高层次抽象概念需低层实现时(如嵌入式GUI框架)。

  • 考点:开放型与封闭型的性能与移植性权衡。

2. 递归模式架构
  • 核心思想:通过自顶向下或自底向上分解复杂系统,实现逐步精细化设计。
  • 工作流程
    • 自顶向下:从系统级开始分解,确保需求不偏离用例(如航天控制系统)。
    • 自底向上:基于领域经验构建关键类,逐步抽象到子系统(如工业物联网节点)。
  • 适用场景:需持续分解验证可靠性与实时性的复杂系统(如自动驾驶子系统)。
  • 考点:递归模式解决复杂系统可扩展性问题的设计思想。

典型考题
层次化开放型架构的缺点是什么?
:破坏封装性,导致系统移植性降低。


二、嵌入式操作系统

1. 核心特性
特性 实现方式 应用场景
强实时性 优先级调度、时限任务管理 工业控制、航空航天
可剪裁性 静态编译移除未用模块 资源受限设备(IoT)
安全性 符合DO-178C等安全标准(A~E级) 汽车电子(A级系统)
确定性 静态资源分配、越界检查 医疗设备
2. 典型操作系统
  • VxWorks:高实时性,支持WindRiver Workbench开发环境。
  • 嵌入式Linux:开源可定制,适用于智能终端。
  • INTEGRITY:通过MULTI工具链认证,适用于安全攸关系统。

三、嵌入式数据库

1. 核心需求
  • 低资源占用:轻量级存储引擎(如SQLite)。
  • 高可靠性:事务ACID特性、断电保护(如eXtremeDB)。
  • 实时响应:内存数据库优化(如Redis嵌入式版)。
2. 应用场景
  • 车载系统:存储行驶数据,支持快速查询。
  • 工业传感器:实时记录环境参数。

典型考题
嵌入式数据库为何需支持ACID特性?
:确保在断电等异常场景下数据一致性与完整性。


四、嵌入式中间件

1. 定义与功能
  • 定位:介于OS与应用层之间,屏蔽底层异构性。
  • 核心功能:网络通信、内存管理、数据处理(如DDS/CORBA)。
2. 关键特性
特性 实现要求
通用性 支持多应用场景(如车载娱乐+控制)
异构性 兼容不同硬件/OS平台
QoS保障 满足实时性带宽约束(如视频流传输)
3. 典型中间件
  • 嵌入式Java中间件:跨平台移植(如Android IoT)。
  • DDS(数据分发服务):适用于分布式实时系统(如无人机集群)。

五、嵌入式系统软件开发环境

1. 开发模式
  • 交叉开发(CPD):宿主机(PC)开发 → 目标机运行。
  • 调试方式
    • 模拟器:主机模拟目标环境(低成本)。
    • JTAG仿真器:硬件级调试(高精度)。
    • 监控程序(Monitor):宿主机与目标机通信调试。
2. 开发环境架构(基于Eclipse)
层级 功能 关键组件
宿主层 基础支撑 Eclipse框架、JDK、CDT
基本工具层 交叉编译、调试、工程管理 编译器(GCC)、调试器
应用工具层 效能分析、部署维护 时间监视器、批量升级工具
驻留层 目标机代理程序(Agent) 通信代理、调试代理
3. 典型开发环境
  • GCC工具链:开源跨平台,支持多语言(C/C++/Java)。
  • WindRiver Workbench:高安全性,配套Diab编译器。
  • GreenHills MULTI:实时追踪与反向调试,代码优化效率提升20%。

典型考题
交叉开发环境中"驻留层"的作用是什么?
:在目标机运行代理程序,支持宿主机工具与目标机的通信及调试。


六、考点与考题汇总

  1. 架构模式:层次化封闭型 vs 开放型的移植性差异。
  2. 嵌入式OS安全等级:DO-178C标准(A级最高,如航空软件)。
  3. 中间件功能:DDS解决分布式实时通信问题。
  4. 开发环境核心:Eclipse框架的插件化扩展能力。
  5. 递归模式应用:自底向上构建工业物联网子系统。
相关推荐
pccai-vip7 小时前
架构论文《论数字孪生系统架构设计与应用》
架构·系统架构
SelectDB7 小时前
Apache Doris 数据导入原理与性能优化 | Deep Dive
运维·数据库·数据分析
悟能不能悟8 小时前
在service方法中已经catch异常,Transactional失效怎么办
java·数据库·sql
月夜奇术师8 小时前
SQL查询性能优化:从30分钟到30秒的蜕变——破解串行查询瓶颈
数据库·性能优化
zimoyin8 小时前
解决导入的数据库中因为 sql_mode 不同 视图无法打开问题
数据库·sql
程序边界8 小时前
MySQL至KingbaseES迁移最佳实践(上篇):迁移准备与实施规划
数据库·mysql
IvorySQL9 小时前
Oracle 19c数据库迁移到IvorySQL 4.6实战
数据库
kanimito9 小时前
开始改变第六天 MySQL(2)
数据库·mysql
晓py9 小时前
理解 MySQL 架构:从连接到存储的全景视图
数据库·mysql·架构