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

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

原理与特征

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

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

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

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

图片来源于网络 

相关文章:

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

原理与特征 嵌入式系统的典型架构可概括为两种模式,即层次化模式架构和递归模式架构 层次化模式架构,位于高层的抽象概念与低层的更加具体的概念之间存在着依赖关系,封闭型层次架构指的是,高层的对象只能调用同一层或下一层对象…...

hive两个表不同数据类型字段关联引发的数据倾斜

不同数据类型引发的Hive数据倾斜解决方案 #### 一、‌原因分析‌ 当两个表的关联字段存在数据类型不一致时(如int vs string、bigint vs decimal),Hive会触发隐式类型转换引发以下问题: ‌Key值的精度损失‌:若关联字…...

制作一款打飞机游戏45:简单攻击

粒子系统修复 首先,我们要加载cow(可能是某个项目或资源),然后直接处理粒子系统。你们看到在粒子系统中,我们仍然有X滚动。这现在已经没什么意义了,因为我们正在使用一个奇怪的新系统。所以我们实际上不再…...

《Vuejs设计与实现》第 5 章(非原始值响应式方案) 中

目录 5.4 合理触发响应 5.5 浅响应与深响应 5.6 只读和浅只读 5.4 合理触发响应 为了合理触发响应,我们需要处理一些问题。 首先,当值没有变化时,我们不应该触发响应: const obj = { foo: 1 } const p = new Proxy(obj, { /* ... */ })effect(() => {console.log(p…...

深入理解 Webpack 核心机制与编译流程

🤖 作者简介:水煮白菜王,一位前端劝退师 👻 👀 文章专栏: 前端专栏 ,记录一下平时在博客写作中,总结出的一些开发技巧和知识归纳总结✍。 感谢支持💕💕&#…...

okhttp3.Interceptor简介-笔记

1. Interceptor 简介 okhttp3.Interceptor 是 OkHttp 提供的一个核心接口,用于拦截 HTTP 请求和响应,允许开发者在请求发送前和响应接收后插入自定义逻辑。它在构建灵活、可扩展的网络请求逻辑中扮演着重要角色。常见的用途包括: 添加请求头…...

交易流水表的分库分表设计

交易流水表的分库分表设计需要结合业务特点、数据增长趋势和查询模式,以下是常见的分库分表策略及实施建议: 一、分库分表核心目标 解决性能瓶颈:应对高并发写入和查询压力。数据均衡分布:避免单库/单表数据倾斜。简化运维&#…...

《AI大模型应知应会100篇》第59篇:Flowise:无代码搭建大模型应用

第59篇:Flowise:无代码搭建大模型应用 摘要:本文将详细探讨 Flowise 无代码平台的核心特性、使用方法和最佳实践,提供从安装到部署的全流程指南,帮助开发者和非技术用户快速构建复杂的大模型应用。文章结合实战案例与配…...

开发环境(Development Environment)

在软件开发与部署过程中,通常会划分 开发环境(Development)、测试环境(Testing)、生产环境(Production) 这三个核心环境,以确保代码在不同阶段的质量和稳定性。以下是它们的详细介绍…...

MySQL的sql_mode详解:从优雅草分发平台故障谈数据库模式配置-优雅草卓伊凡

MySQL的sql_mode详解:从优雅草分发平台故障谈数据库模式配置-优雅草卓伊凡 引言:优雅草分发平台的故障与解决 近日,优雅草分发平台(youyacaocn)在运行过程中遭遇了一次数据库访问故障。在排查过程中,技术…...

PyCharm 快捷键指南

PyCharm 快捷键指南 常用编辑快捷键 代码完成:Ctrl Space 提供基本的代码完成选项(类、方法、属性)导入类:Ctrl Alt Space 快速导入所需类语句完成:Ctrl Shift Enter 自动结束代码(如添加分号&#…...

【数据结构】map_set前传:二叉搜索树(C++)

目录 二叉搜索树K模型的模拟实现 二叉搜索树的结构: Insert()插入: InOrder()中序遍历: Find()查找: Erase()删除: 参考代码: 二叉搜索树K/V模型的模拟实现: K/V模型的简单应用举例&…...

ZYNQ处理器在发热后功耗增加的原因分析及解决方案

Zynq处理器(结合ARM Cortex-A系列CPU和FPGA可编程逻辑)在发热后功耗增大的现象,通常由以下原因导致。以下是系统性分析及解决方案: 1. 根本原因分析 现象物理机制漏电流(Leakage Current)增加温度升高导致…...

Vue学习百日计划-Deepseek版

阶段1:基础夯实(Day 1-30) 目标:掌握HTML/CSS/JavaScript基础,理解Vue核心概念和基础语法。 每日学习内容(2小时): HTML/CSS(Day 1-10) 学习HTML标签语义化…...

DeepSeek-R1-Distill-Qwen-1.5B代表什么含义?

DeepSeek‑R1‑Distill‑Qwen‑1.5B 完整释义与合规须知 一句话先行 这是 DeepSeek‑AI 把自家 R1 大模型 的知识,通过蒸馏压缩进一套 Qwen‑1.5B 架构 的轻量学生网络,并以宽松开源许可证发布的模型权重。 1 | 名字逐段拆解 片段意义备注DeepSee…...

内网服务器之间传输单个大文件最佳解决方案

内网服务器之间传输单个大文件,采用python的http.server模块,结合wget下载文件是最快的传输方案。 笔者在ubuntu与debian之间传输单个单文件进行文件,尝试了scp、sftp、rsync等方案,但传输速度都只有1-3MB/秒;采用pyt…...

Linux常用命令详解(上):目录与文件操作及拷贝移动命令

Linux系统以其强大的命令行工具著称,无论是日常文件管理还是自动化运维,都离不开基础命令的灵活运用。本文将通过功能说明、语法格式、常用选项和实例演示,系统讲解Linux中目录操作、文件操作及拷贝移动的核心命令。 一、目录操作命令 1. c…...

可灵 AI:开启 AI 视频创作新时代

在当今数字化浪潮中,人工智能(AI)技术正以前所未有的速度渗透到各个领域,尤其是在内容创作领域,AI 的应用正引发一场革命性的变革。可灵 AI 作为快手团队精心打造的一款前沿 AI 视频生成工具,宛如一颗璀璨的…...

动态域名解析(DDNS)实战指南,原理、配置与远程访问,附无公网ip方案

本文从实际场景出发,详解如何通过动态域名(DDNS)解决动态IP访问难题,覆盖家庭、企业及IoT场景,并提供动态域名解析、内网端口映射外网远程访问等方案。 一、动态域名(DDNS)是什么?它…...

基于STM32、HAL库的BMP388 气压传感器 驱动程序设计

一、简介: BMP388是Bosch Sensortec推出的一款高精度、低功耗的数字气压传感器,具有以下特点: 压力测量范围:300hPa至1250hPa 相对精度:0.08hPa(相当于0.5米) 温度测量范围:-40C至+85C 工作电压:1.65V至3.6V 低功耗:2μA @1Hz采样率 支持I2C和SPI接口(最高10MHz) …...

window 显示驱动开发-指定 DMA 缓冲区的段

显示微型端口驱动程序可以指定可从中分配 DMA 缓冲区的光圈段。 DMA 缓冲区也可以分配为连续锁定的系统内存。 当应用程序需要 DMA 缓冲区时,视频内存管理器会分配和销毁这些缓冲区。 因此,视频内存管理器需要一组可以分配 DMA 缓冲区的段。 请注意&…...

AnaTraf:深度解析网络性能分析(NPM)

目录 一、为什么网络性能分析比你想象的重要? 二、网络性能分析的核心构成 1. 数据采集层 2. 数据分析层 3. 可视化与告警层 三、网络性能分析中关注的关键指标 四、NPM部署策略:选对位置,才能看清全局 1. 边缘部署 2. 核心网络部署…...

安装Python和配置开发环境

用ChatGPT做软件测试 “工欲善其事,必先利其器。” 学习编程,不只是下载安装一个解释器,更是打开一个技术世界的大门。配置开发环境不仅关乎效率,更关乎思维方式、习惯培养与未来技术路线的选择。 一、为什么安装Python不仅仅是“…...

n8n 修改或者智能体用文档知识库创建pdf

以下是对 Nextcloud、OnlyOffice、Seafile、Etherpad、BookStack 和 Confluence 等本地部署文档协作工具的综合评测、对比分析和使用推荐,帮助您根据不同需求选择合适的解决方案。 🧰 工具功能对比 工具名称核心功能本地部署支持适用场景优势与劣势Next…...

Python | Dashboard制作 【待续】

运行环境:jupyter notebook (python 3.12.7)...

Linux 详解inode

目录 一、inode是什么? ‌inode包含的主要信息‌(inode是一个结构体): ‌硬链接计数‌(有多少个文件名指向这个inode) inode的特点‌: inode编号 二、block区‌ ‌定义与作用‌ ‌特点‌…...

Milvus 2.4 使用详解:从零构建向量数据库并实现搜索功能(Python 实战)

文章目录 🌟 引言🧰 环境准备依赖安装 📁 整体代码结构概览🛠️ 核心函数详解1️⃣ 初始化 Milvus 客户端2️⃣ 创建集合 Schema3️⃣ 准备索引参数4️⃣ 删除已存在的集合(可选)5️⃣ 创建集合并建立索引6…...

NY115NY121美光科技芯片NY122NY130

NY115NY121美光科技芯片NY122NY130 美光科技:存储芯片领域的领航者 在全球半导体产业竞争日益激烈的背景下,美光科技(Micron)作为存储技术领域的领先企业,不仅展现了其强大的科技研发力量,更在战略布局上…...

【类拷贝文件的运用】

常用示例 当我们面临将文本文件分成最大大小块的时,我们可能会尝试编写如下代码: public class TestSplit {private static final long maxFileSizeBytes 10 * 1024 * 1024; // 默认10MBpublic void split(Path inputFile, Path outputDir) throws IOException {…...

python标准库--heapq - 堆队列算法(优先队列)在算法比赛的应用

目录 一、基本操作 1.构造堆 2.访问堆顶元素(返回堆顶元素) 3.删除堆顶元素(返回堆顶元素) 4.插入新元素,时间复杂度为 O (log n) 5. 插入并删除元素(高效操作) 6. 高级操作- 合并多个有…...

5.12第四次作业

实验要求:完成上图内容,要求五台路由器的环回地址均可以相互访问 AR1 AR2 AR3 AR4 AR5 AS 200 ospf配置 AR2 AR3 AR4 BGP配置 AR1(AS100) AR2(AS200) AR4 AR5(AS300) 结果...

一文读懂如何使用MCP创建服务器

如果你对MCP(模型上下文协议)一窍不通,在阅读本篇文章之前(在获得对MCP深度认识之前),你可以理解为学习MCP就是在学习一个python工具库mcp,类似于其它python工具库一样,如numpy、sys…...

telnetlib源码深入解析

telnetlib 是 Python 标准库中实现 Telnet 客户端协议的模块,其核心是 Telnet 类。以下从 协议实现、核心代码逻辑 和 关键设计思想 三个维度深入解析其源码。 一、Telnet 协议基础 Telnet 协议基于 明文传输,通过 IAC(Interpret As Command…...

PID与模糊PID系统设计——基于模糊PID的水下航行器运动控制研究Simulink仿真(包含设计报告)

1.模型简介 本仿真模型基于MATLAB/Simulink(版本MATLAB 2016Rb)软件。建议采用matlab2016 Rb及以上版本打开。(若需要其他版本可联系代为转换) 针对水下航行器控制系统参数变化和海洋环境干扰等影响,研究水下航行器运…...

GPU SIMT架构的极限压榨:PTX汇编指令级并行优化实践

点击 “AladdinEdu,同学们用得起的【H卡】算力平台”,H卡级别算力,按量计费,灵活弹性,顶级配置,学生专属优惠。 一、SIMT架构的调度哲学与寄存器平衡艺术 1.1 Warp Scheduler的调度策略解构 在NVIDIA GPU…...

spark的处理过程-转换算子和行动算子

(一)RDD的处理过程 【老师讲授,画图】 Spark使用Scala语言实现了RDD的API,程序开发者可以通过调用API对RDD进行操作处理。RDD的处理过程如图所示; RDD经过一系列的“转换”操作,每一次转换都会产生不同的RDD&#xf…...

设计杂谈-工厂模式

“工厂”模式在各种框架中非常常见,包括 MyBatis,它是一种创建对象的设计模式。使用工厂模式有很多好处,尤其是在复杂的框架中,它可以带来更好的灵活性、可维护性和可配置性。 让我们以 MyBatis 为例,来理解工厂模式及…...

职坐标IT培训:互联网行业核心技能精讲

在互联网行业高速迭代的今天,掌握全链路核心技能已成为职业发展的关键突破口。职坐标IT培训聚焦行业需求,系统拆解从需求分析到系统部署的完整能力模型,助力从业者构建多维竞争力。无论是产品岗的用户调研与原型设计,还是技术岗的…...

IBM BAW(原BPM升级版)使用教程第十二讲

续前篇! 一、用户界面:Process Portal和Workplace Process Portal 和 Workplace 都是 IBM Business Automation Workflow (BAW) 中提供的 Web 界面,供用户查看和处理流程任务、监控流程状态等,但它们之间有着不同的历史背景和功…...

2025 年福建省职业院校技能大赛网络建设与运维赛项Linux赛题解析

​ 准备环境:系统安装及网络配置 [!TIP] 接下来将完全按照国赛评分标准进行,过程中需要掌握基础的Linux命令以及理解Linux系统,建议大家在做题前将Linux基础命令熟练运用 网络建设与运维赛项详细教程请联系主页一、X86架构计算机操作系统安装…...

Netty在Java网络编程中的应用:实现高性能的异步通信

Netty在Java网络编程中的应用:实现高性能的异步通信 在当今的分布式系统中,高效、稳定的网络通信是保障系统运行的关键。Java作为一门广泛使用的编程语言,提供了多种网络编程方式,但传统的Socket编程在面对高并发场景时往往显得力…...

[高阶数据结构]二叉树经典面试题

二叉树经典面试题:: 目录 二叉树经典面试题:: 1.根据二叉树创建字符串 2.二叉树的层序遍历 3.二叉树的层序遍历II 4.二叉树的最近公共祖先 5.二叉树与双向链表 6.从前序与中序序列构造二叉树 7.从中序与后序序列构造二叉…...

第一章 应急响应-webshell查杀

远程连接一下 我们先查找一下网站的目录,到网站页面,可以看到有很多php文件,这样我们可以大致确定黑客上传的应该是php木马 通过ls -a 查看一下隐藏文件 现在我们查看一下各个php文件的内容 可以看到shell.php是一句话木马,但没…...

残差网络(ResNet)

残差网络(Residual Network, ResNet)介绍 残差网络(ResNet)是由微软研究院的何恺明(Kai Ming He)等人于2015年提出的深度卷积神经网络架构,其核心思想是通过残差连接(Skip Connectio…...

全视通智慧病房无感巡视解决方案:科技赋能,重塑护理巡视新篇

护理巡视是保障患者安全与护理质量的关键环节。现有特级、一、二、三级护理虽有明确巡视要求,但从护士手工填写记录表,均存在诸多弊端。或因需人工操作易遗忘、无法准确界定巡视人员,或因设备携带不便、需额外充电、布网复杂等,导…...

【数据结构入门训练DAY-32】LETTERS

本文介绍了一个关于使用深度优先搜索(DFS)解决字母矩阵问题的训练内容。题目要求在一个RS的大写字母矩阵中,从左上角开始移动,可以上下左右四个方向移动,但不能重复经过相同的字母,目标是找出最多能经过的不…...

Linux笔记---信号(上)

1. 信号的概念 Linux下的信号机制是一种进程间通信(IPC)的方式,用于在不同进程之间传递信息。 信号是一种异步的信息传递方式,这意味着发送信号的进程只发送由信号作为载体的命令,而并不关心接收信号的进程如何处置这…...

FanControl(电脑风扇转速控制软件) v224 中文版

FanControl是一款用于控制计算机风扇速度的软件。它能够监测计算机的内部温度,并根据温度的变化来自动调整风扇的速度,以保持计算机的散热效果和稳定运行。 软件功能 温度监测:实时监测计算机的内部温度,显示在界面上。 风扇速度控…...

推理加速新范式:火山引擎高性能分布式 KVCache (EIC)核心技术解读

资料来源:火山引擎-开发者社区 分布式 KVCache 的兴起 背景 在大模型领域,随着模型参数规模的扩大和上下文长度增加,算力消耗显著增长。在 LLM 推理过程中,如何减少算力消耗并提升推理吞吐已经成为关键性优化方向。以多轮对话场…...

2025年5月12日第一轮

1.百词斩 2.阅读 3.翻译 4.单词 radical 激进的 Some people in the US have asserted that forgiving student loan debt is one way to stimulate the economy and give assistance to those in need. 1.数学 Hainan was the second island on the Taiwan,a province whi…...