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

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

原理与特征

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

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

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

嵌入式操作系统(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. 设计过程的成果:需要用文档或图示

图片来源于网络 

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

相关文章:

  • AI 搜索引擎 MindSearch
  • 香港维尔利健康科技集团亮相中国资本市场发展年会,被评为“最具投资价值医疗科技企业”
  • 面试题解析 | C++空类的默认成员函数(附生成条件与底层原理)
  • 高吞吐与低延迟的博弈:Kafka与RabbitMQ数据管道实战指南
  • 互联网大厂Java求职面试:优惠券服务架构设计与AI增强实践-1
  • 七、基于HAL库,实现串口+DMA+状态机通信实现
  • 国产化Excel处理控件Spire.XLS系列教程:如何通过 C# 删除 Excel 工作表中的筛选器
  • HTML简单语法标签(后续实操:云备份项目)
  • 《Spring Boot 4.0新特性深度解析》
  • 企业即时通讯软件,私有化安全防泄密
  • 图灵爬虫练习平台第十九题js逆向
  • 使用基于ARM的低功耗微型单板计算机打造智能家居管理系统中枢
  • 开发环境(Development Environment)
  • 前端面试每日三题 - Day 32
  • Kubernetes控制平面组件:Kubelet详解(二):核心功能层
  • Go语言:json 作用和语法
  • 【WPF】Opacity 属性的使用
  • 【Redis 进阶】哨兵模式
  • 降低60.6%碰撞率!复旦大学地平线CorDriver:首次引入「走廊」增强端到端自动驾驶安全性
  • 芯显10.4寸工业液晶屏XB104S01-200-10.4寸工业显示屏
  • 了解神经网络声音定制,实现多情绪、多语言演绎
  • Java—— 集合 Set
  • Android HttpAPI通信问题(待解决)
  • 【人工智能-agent】--Dify中自然语言生成SQL查询数据库
  • Java学习手册:客户端负载均衡
  • 基于LNMP架构的个人博客系统部署
  • DDD领域驱动开发
  • 基于 51 单片机的 PWM 电机调速系统实现
  • https的发展历程
  • 区块链钱包开发全解析:从架构设计到安全生态构建