系统架构-嵌入式系统架构

原理与特征

嵌入式系统的典型架构可概括为两种模式,即层次化模式架构和递归模式架构

层次化模式架构,位于高层的抽象概念与低层的更加具体的概念之间存在着依赖关系,封闭型层次架构指的是,高层的对象只能调用同一层或下一层对象提供的方法

递归模式架构,将一个非常复杂的系统进行分解,自顶向下分解系统的功能

嵌入式操作系统(EOS),通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器

从嵌入式操作系统体系架构看,主要存在4种结构:整体结构、层次结构、客户/服务器结构和面向对象结构

整体结构:也称为模块结构或无序结构,它是基于结构化程序设计的一种软件设计方法。

典型的强实时调度算法:

  • 最早截止时间优先(Earlier Deadline First EDF),任务截止时间越早,优先级就越高
  • 最低松弛度优先(Least Laxity First LLF),松弛程度越低,优先级越高。松弛程度指任务最早运行时间与任务最晚运行时间差
  • 单调速率调度算法(Rate Monotonic Scheduling RMS)任务的执行周期越短,优先级越高

嵌入式数据库系统主要特点:嵌入式、实时性、移动性、伸缩性,按存储位置不同可分为三类:基于内存方式、基于文件方式、基于网络方式

  • 基于内存式数据库系统(MMDB)是实时系统和数据库系统的有机结合,即活动事务只与实时内存数据库的内存拷贝打交道,典型产品是eXtremeDB嵌入式数据库
  • 基于文件的数据库(FDB)是以文件方式存储数据库数据,即数据按照一定格式 存储在磁盘种。使用时由应用程序通过相应的驱动程序甚至直接对数据文件进行读写。典型产品是SQLite
  • 基于网络的数据库(NDB)基于手机4G/5G的移动通信基础上的数据库系统,在逻辑上可以把嵌入式设备看作远程服务器的一个客户端

设计方法

自顶向下的设计方法,基于架构的软件设计(ABSD)可适用于嵌入式系统的软件设计方法

属性驱动的软件设计(ADD)

利用对质量属性实现与架构设计之间的关系的了解对软件架构进行设计,需要经历评审、选择驱动因子、选择系统元素、选择设计概念、实体化元素和定义接口、草拟视图和分析评价七个阶段

实时系统设计方法(DARTS)

将实时系统分解为多个并发任务,并定义这些任务之间的接口。提供一些分解规则和一套处理并发任务的设计步骤。

起源于实时结构化分析和设计方法(RTSAD)主要分为实时结构化分析(RTSA)和实时结构化设计(RTSD))

DARTS方法主要由以下5个部分组成:

  1. 用实时结构化分析方法(RTSA)开发系统规范:需要产出开发系统环境图(SCD)和状态转换图(STD)
  2. 将系统划分为多个并发任务:产出初步任务架构图(TAD)
  3. 定义任务间的接口:用事件流的映射作为事件信号
  4. 设计每个任务
  5. 设计过程的成果:需要用文档或图示

图片来源于网络

相关推荐
Cicada12820 分钟前
复杂度到底从哪来的?
系统架构
ZJU_统一阿萨姆1 天前
【算子开发】矩阵乘法(GEMM)入门与共享内存优化
人工智能·线性代数·矩阵·系统架构
ZJU_统一阿萨姆2 天前
【算子开发】扫描(Scan)与前缀和
开发语言·arm开发·架构·系统架构·硬件架构
skr爱码士2 天前
05_Qt 核心模块概览——Qt Core、Gui、Widgets、Quick 的职责划分
c++·qt·系统架构·客户端
一几文3 天前
2026年上半年软考高级-系统架构设计师考试真题回顾与解析-综合知识选择题6
小程序·架构·系统架构·软考高级·软考·it证书
海水冷却3 天前
私有化 vs 混合云 vs 公有云:双录系统架构怎么选
系统架构·双录
Cicada1283 天前
为什么从 demo 到生产路还很长?一次数据拉取功能的复杂度演进复盘
系统架构
xcl09253 天前
树洞社交应用的系统架构设计与匿名实现
java·spring boot·系统架构
智购科技无人售货机工厂3 天前
2026自动售货机支付系统架构演进:从超时重试到异步补偿的支付成功率优化~YH
android·stm32·单片机·嵌入式硬件·架构·系统架构
鲁邦通物联网3 天前
出海物联网设备的全球化网络接入与合规脱敏架构:基于 Node-RED 与 C++ 零拷贝的边缘系统设计
网络·物联网·系统架构·边缘计算·边缘计算网关·5g数采·工业级边缘计算网关