原子标签索引:[概念×16 | 机制×4 | 流程×3 | 决策×1 | 分类体系×12 | 判据×4 | 案例×3 | 数据×12] 上游:第2章(操作系统)、第7章(ABSD/ADD 设计方法)、第8章(质量属性) 下游:物联网/实时系统相关论文素材
标准表述
- 嵌入式系统:为了特定应用而专门构建的计算机系统,软件架构与硬件组成紧密相关。
- 嵌入式系统发展五阶段:单片微型计算机(SCM)→ 微控制器(MCU)→ 片上系统(SoC)→ 以 Internet 为基础 → 智能化、云技术推动(低能耗、高速度、高集成、高可信;向微型传感设备与智能服务设备两方向)。
- 典型嵌入式系统硬件组成:嵌入式微处理器(MCU)、存储器(RAM/ROM)、内(外)总线逻辑、定时/计数器、看门狗电路、I/O 接口、外部设备。
- 芯片工作温度分级:民用级 0~70℃、工业级 -40~85℃、军用级 -55~150℃。
- 看门狗电路:嵌入式系统必须具备的系统恢复能力——计数器溢出即进中断,保留关键数据后复位重启。
- 嵌入式操作系统 EOS:负责嵌入式系统全部软硬件资源分配、任务调度、控制、协调并行活动的系统软件。
- EOS 内核两分法:宏内核(用户服务与内核服务同一空间,耦合度高,如 VxWorks5.5、VRTX);微内核(不同地址空间,经消息传递通信,结构清晰、移植性好、代码少,但性能偏低,如嵌入式 Linux、L4、WinCE)。
- 任务 = 程序 + 执行;任务三态:执行态、就绪态、阻塞态。
- 实时调度三对划分:离线/在线、抢占/非抢占、静态/动态。
- EDF:截止时间越早优先级越高,既可用于剥夺式也可用于非剥夺式;LLF:松弛度最低者优先,主要用于可剥夺方式;RMS:静态优先级,周期越短优先级越高,是最优的静态优先级算法。
- 松弛度 = 必须完成时间 - 本身运行时间 - 当前时间。
- 存储管理五法:分区(静态/可变/可重定位)、分页、分段、段页、虚拟存储。
- 任务间通信五手段:共享内存、信号量、消息队列、Socket 与远程调用、Signals。
- 信号量三种:二进制(最快最常用,解决同步)、互斥(解决互斥、优先级继承、递归)、计数(保护资源的多个实例)。
- 嵌入式数据库与数据库服务器的根本区别:运行地址空间不同——嵌入式数据库与应用程序同进程,经 API 访问而非 TCP/IP。
- 嵌入式数据库三分类(按存储位置):基于内存(MMDB)、基于文件(FDB)、基于网络(NDB)。
- 中间件 = 平台 + 通信;嵌入式中间件处于嵌入式应用和操作系统之间,屏蔽底层 OS 异构性;最常用两种为 CORBA 与 DDS。
- 消息中间件两特点:异步处理模式、应用间松耦合;两服务模型:点对点(PTP)与发布-订阅(Pub/Sub)。
- 交叉开发(Cross Development):软件在通用平台(宿主机)开发,在嵌入式目标平台(目标机)运行调试。
- 典型嵌入式软件架构两模式:层次化模式架构、递归模式架构。
- ADD:以一组质量属性场景为输入的递归分解设计方法,共七步骤。
- DARTS:实时系统设计方法,将实时系统分解为多个并发任务并定义任务间接口,源自 RTSAD。
蒸馏笔记
概念
- MPU:微处理器,装在专门电路板上只保留母板功能;体积小成本低但可靠性受板级器件影响,保密性差。
- MCU:微控制器/单片机,以微处理内核为核心,衍生产品内核相同、存储与外设配置不同;单片化使体积、功耗、成本下降,可靠性提高。
- DSP:信号处理器,特殊系统结构与指令(通常哈佛结构),编译效率和指令执行速度高;代表 TI TMS320 系列、Freescale DSP56000。
- GPU:图形处理单元,硬件 T&L、纹理压缩等技术保证快速 3D 渲染。
- SoC:片上系统,处理器内核为标准库,整个系统大部分可集成到一块或几块芯片。
- 看门狗:程序定期复位计数器 → 系统卡死/跑飞 → 计数器溢出中断 → 保留关键数据并复位。
- ASP/BSP:与处理器硬件相关的驱动称结构支持包(ASP),与外围芯片相关的驱动称板级支持包(BSP)。
- EOS 组成:硬件驱动程序、调试代理、操作系统内核、文件系统、可配置组件;对外提供标准 API。
- 临界区域:包含使用 CPU 之外共享资源的代码,不能同时被多个任务调用执行。
- ERTDBS:嵌入式实时数据库系统——对数据库操作具有定时限制。
- IHM:信息隐藏模块,DARTS 中封装数据存储的标准,多任务访问须同步。
- 质量场景:描述质量属性需求的规范,六部分——刺激源、刺激、环境、制品、响应、响应度量。
- ABSD:基于架构的软件设计,业务+质量+功能需求组合驱动,自顶向下递归细化。
- ADD:属性驱动设计,把模块分解建立在必须满足的质量属性之上。
- DARTS:实时系统设计方法,提供分解规则、并发任务设计步骤、任务间接口定义指南。
- RTSA/RTSD:实时结构化分析(状态转换图 STD 刻画行为,控制转换与 DFD 集成)/实时结构化设计(内聚耦合原则,事务/变换两策略将 DFD/CFD 转为程序结构图)。
机制
- 微内核通信链:应用程序 →(消息传递) 用户空间服务 ↔ 内核极小服务(进程/内存管理);无直接交互 → 结构清晰、易协作、可移植 → 代价是执行速度慢。
- 虚拟存储依据:程序局部性原理(时间局部性+空间局部性)→ 内存放当前用页/段,其余放外存 → 按需换入换出 → 程序不受实际内存限制。
- 可重定位分区:装入时用相对地址 →(指令真正执行时经重定位寄存器+硬件地址变换机构如 MMU) 转为物理地址。
- 存储计算下沉:有状态微服务 → 数据下沉到分布式存储 → 一定程度无状态化 → 可自由在容器间调度。
流程
- ADD 七步骤:①评审输入(架构驱动因子:设计目的、质量属性、主要功能、架构关注点、约束条件)②选择驱动因子建立迭代目标(迭代模型/瀑布模型决定设计回合)③选择一个或多个系统元素细化 ④选择一个或多个设计概念(结构模式、分层设计、域对象设计等)⑤实例化架构元素、分配职责、定义接口 ⑥草拟视图并记录设计决策 ⑦分析当前设计、评审迭代目标、实现设计目的(风险评估判别是否需更多迭代)。
- DARTS 五步:①用 RTSA 开发系统规范(系统环境图 SCD、状态转换图 STD、层次 DFD/CFD)②将系统划分为多个并发任务(任务结构化标准应用于 DFD/CFD 叶子节点;I/O 转换→异步 I/O/周期 I/O/资源监视任务;内部转换→控制/周期/异步任务)③定义任务间接口(数据流→松/紧耦合消息接口;事件流→事件信号;数据存储→IHM;完成时间约束分析与时间预算)④设计每个任务(任务再分模块,转换/事务分析,PDL 描述)⑤成果:RTSA 规范、任务结构规范、任务分解。
- 鸿蒙系统功能展开:"系统"→"子系统"→"功能/模块"逐级展开,多设备部署时可按需裁剪非必要子系统或功能模块。
决策
| 决策点 | 选项与条件 |
|---|---|
| 层次化模式选择 | 封闭型:一层只能调用同层或下一层——移植性好;开放型:可调用低于该层的任意层——性能较好但破坏封装、移植性差 |
| 可变分区分配 | 首次适应(顺序找第一个满足的,易产生碎片);最佳适应(挑最小满足分区,空闲区递增排列);最坏适应(挑最大分区,对中小作业有利,空闲区递减排列) |
| 调度算法选择 | 任务特征可预先确定→离线/静态(RMS);需动态响应→在线/动态(EDF、LLF);关键任务须满足截止时间→抢占式 |
| 实时库封锁粒度 | 锁开销与数据处理开销相当→选关系表为封锁单位(而非传统小粒度),降低复杂度、提高整体性能 |
分类体系
- 处理器五类:MPU / MCU / DSP / GPU / SoC(判据见概念节)。
- RAM 主要类型(按组成元件细分共 18 种,重点):DRAM(电容充放电存储,须每几微秒刷新,约 2~4ms,作主存);SRAM(无须刷新,更快更稳,作高速缓存);VRAM(视频双口);SDRAM(与 CPU 外频 Clock 同步,168Pin、3.3V);DDR SDRAM(速度为 SDRAM 两倍,DLL 数据滤波信号,主流);CDRAM(内置 SRAM 作二级 Cache);RDRAM(500~530MB/s,为普通 DRAM 的 10 倍以上)。
- ROM 五类:MASK ROM(掩模一次性制造,成本较低);PROM(一次可编程 OTP-ROM,出厂全 1 可写 0);EPROM(紫外线擦除,石英玻璃窗);EEPROM(约 20V 电压电擦除,可电信号写入,用于 PnP);Flash(可在主机板上改写、掉电不丢,写入须先清除,缺点写入慢)。
- 总线两维分类:按拓扑——星形、树状、环形、总线型、交叉开关型五种;按连接部件——片内总线、系统总线(板级/内部总线)、局部总线(如 CPU 到北桥)、通信总线(外部/外设总线)四种。
- EOS 体系架构四结构:整体结构(模块/无序结构)、层次结构、客户/服务器结构、面向对象结构。
- EOS 一般架构组成:硬件驱动(ASP/BSP)+内核(任务管理、内存管理、任务间通信管理、时钟管理、中断管理)+可配置库(运行时库、设备管理、人机接口、图形图像、API 扩展,可静态/动态裁剪)+文件系统(DosFS;VxWorks 另有 RT11FS、TSFS、TFFS)+I/O 系统+网络系统(TCP/IP、UDP)。
- EOS 主要特点(12 条,高频):可剪裁性、可移植性、强实时性、强紧凑性、高质量代码、强定制性、标准接口、强稳定性弱交互性、强确定性、操作简洁方便、较强硬件适应性、可固化性(OS 与应用固化于 ROM,运行时调入内存)。
- 典型嵌入式操作系统:VRTX(国际最早,1981);VxWorks(WindRiver,1983,1800 个 API);LynxOS(分布式、可规模扩展,256 个全局用户线程优先级);Nucleus(95% 代码 ANSI C,核心代码区一般不超过 20KB);QNX(微内核,POSIX 部分);Android(基于 Linux 内核不含 GNU 组件);iOS(Darwin 基础,类 Unix);ROS(机器人操作系统,图状架构两层);国产:天脉(AcoreOS)、瑞华(ReWoks)、麒麟、鸿蒙(HarmonyOS)。
- 嵌入式数据库功能四项:高效数据存储机制、数据安全控制(锁机制)、实时事务管理机制、数据库恢复机制(历史数据存储);功能分五大块:运行处理、存取、管理、维护、定义。
- 典型嵌入式数据库:SQLite(2000 年,轻量,几百 KB 内存,架构=接口+编译器+虚拟机 VDBE(128 个操作码)+后端 B-tree/pager);Berkeley DB(1991,Sleepycat,后被 Oracle 收购);Firebird 嵌入服务器版(Interbase 开源衍生,完全支持 SQL-92);eXtremeDB(McObject 内存式,某些配置堆空间可不到 1KB)。
- 中间件分类:IDC 1998 六类(终端仿真/屏幕转换、数据访问、远程过程调用、消息、交易、对象中间件)——现仅保留消息中间件和交易中间件;通用中间件八类:ESB、TP 监控器、分布式计算环境、RPC、ORB、数据库访问、消息传递、基于 XML。
- 嵌入式软件开发环境四层(基于 Eclipse 框架):宿主层(Eclipse+JDK+CDT,桌面 OS 之上)→ 基本工具层(工程管理、编辑、交叉编译、配置、连接、调试、目标机管理、仿真)→ 应用工具层(效能分析、目标机交互 shell、部署维护,支持第三方工具)→ 驻留层(代理 Agent 程序,可剪裁,运行在目标机,提供通信/调试/监视/交互)。
- 调试四方法:模拟器(工具与软件都在主机运行);在线仿真器 ICE(完全仿造目标 CPU,对目标系统透明可控);监控器(主机-目标机经串口等连接,Monitor 监控被调程序);JTAG 仿真器(边界扫描接口调试)。
判据
- 任务三态转换:就绪→执行(调度程序分配处理机);执行→就绪(时间片用完让出处理机);执行→阻塞(等待事件);阻塞→就绪(等待的事件已发生)。
- 抢占 vs 非抢占:实时内核大都采用抢占式——关键任务可打断非关键任务,保证截止时间;非抢占式用于任务需按预定顺序执行的场景;抢占式更复杂、资源更多,使用不当会使低优先级任务长期得不到执行。
- EDF/LLF/RMS 辨析:EDF 按开始截止时间排序就绪队列,剥夺式与非剥夺式皆可;LLF 按松弛度排序,用于可剥夺方式;RMS 周期越短优先级越高,若存在可行的静态优先级调度顺序则 RMS 总能找到——静态最优。
- 虚拟存储成立判据:程序局部性原理(时间局部性:经常运行相同指令段和数据;空间局部性:经常运行某一局部存储空间的指令和数据)。
案例
- 鸿蒙 HarmonyOS(16.4.1):华为分布式 OS,四层——内核层(多内核+KAL 内核抽象层+HDF 驱动框架)、系统服务层(基本能力/基础软件服务/增强软件服务/硬件服务四个子系统集)、框架层(多语言用户程序框架与 Ability 框架)、应用层(FA 有 UI,PA 无 UI);四大技术特性:分布式架构首次用于终端 OS、确定时延引擎(响应时延降低 25.7%)+高性能 IPC(效率提升 5 倍)、微内核+形式化方法重塑可信安全(微内核代码量仅为 Linux 宏内核的千分之一,TEE 获 CC EAL5+ 认证)、统一 IDE 一次开发多端部署(方舟编译器静态编译)。
- GENESYS(16.4.2):欧洲 ARTEMIS 2008—2009 年提出的跨领域通用嵌入式架构平台,应对复杂性管理、系统健壮性、能量有效使用三挑战;"腰"型架构三组服务(领域无关——核心服务[强制、确定性、需认证]+选择服务;领域专用——DSC/DSO;应用专用);分离计算与通信,构件四类消息接口(LIF 链接/LI 局部/TII 技术无关/TDI 技术相关);三级集成:芯片级(IP 核+NoC)、设备级(芯片)、系统级(设备)。
- FreeRTOS(16.4.3):开源物联网操作系统(亚马逊托管),由 BSP 驱动、内核、组件构成,内核可剪裁,核心代码约 9000 行;物联网 OS 四特征:内核尺寸伸缩性与架构可扩展性、内核实时性、高可靠性、低功耗。
数据
| 数据项 | 数值 | 条件/出处 |
|---|---|---|
| 芯片工作温度 | 民用 0~70℃;工业 -40~85℃;军用 -55~150℃ | 处理器选型首要因素 |
| DRAM 刷新周期 | 每几微秒刷新一次;存取约 2~4ms | 电容漏电所致 |
| RDRAM 速度 | 500~530MB/s,为 DRAM 的 10 倍以上 | 专业图形加速/游戏机视频内存 |
| SDRAM 规格 | 168Pin、3.3V 工作电压 | 与 CPU 外频同步 |
| EEPROM 擦除电压 | 约 20V | 电可擦除 |
| VDBE 操作码 | 128 个 | SQLite 虚拟机 |
| SQLite 支持库大小 | Windows 版 DLL 374KB;支持数据库至 2TB | ACID 事务 |
| Berkeley DB 数据库规模 | 高达 256TB;1991 年发布 | 后被 Oracle 收购 |
| LynxOS 优先级 | 256 个全局用户线程优先级 | 硬实时调度 |
| HarmonyOS 关键数字 | 响应时延降 25.7%;IPC 效率提升 5 倍;微内核代码量为 Linux 宏内核千分之一;CC EAL5+ | 确定时延引擎/形式化 TEE |
| FreeRTOS 核心代码 | 约 9000 行 | 轻量级内核可剪裁 |
| VxWorks API | 多达 1800 个 | 1983 年,WindRiver |
易错点 / 边界情况
- 发展阶段辨析:第二阶段 MCU 用的是"简单操作系统",第三阶段 SoC 特征是"兼容性好、内核小"——勿与第一阶段"无操作系统"混淆。
- RAM/ROM 判分点:RAM 断电数据丢失且无法恢复;ROM 读取速度比 RAM 慢很多;PROM 只能写一次;Flash 写入前必须先清除原有资料。
- 系统总线又称板级总线或内部总线;通信总线又称外部总线或外设总线——两个"别称"勿张冠李戴。
- 调度算法归属:EDF、LLF 是在线/动态方向的代表(RMS 是静态代表);教材明确 EDF 用于动态调度(优先级随截止时间变)、RMS 用于静态调度——EDF 亦可用于非剥夺式,LLF 主要用于可剥夺方式。
- 宏内核举例是 VxWorks5.5、VRTX;微内核举例是嵌入式 Linux、L4、WinCE——与常见认知相反的陷阱点。
- 分页 vs 分段:分页面向物理划分(页大小相等,有页内碎片,无外部碎片);分段面向逻辑单元(段长不等,有外部碎片,共享方便);段页式=先分段再分页,复杂度与开销增加。
- 任务间通信辨析:共享内存=最直接高效;信号量=互斥与同步的最优选择(最快);消息队列=同 CPU 多任务间传任意长度信息;Signals=VxWorks 提供的、唯一的异步通信机制(对中断的软件模拟)。
- 消息队列排序方式:FIFO、FILO、紧急消息、优先级消息、时限消息——管道是消息队列的一种(UNIX 传统,单向、FIFO 字节流,空则阻塞读、满则阻塞写)。
- 嵌入式数据库 vs 数据库服务器:前者只允许应用程序访问控制、与程序一起发布(程序携带性);后者允许非开发人员操作、数据与程序分离、需独立部署。
- 内存数据库本质特征:"主拷贝"/"工作版本"常驻内存,活动事务只与内存拷贝打交道——是支持实时事务的最佳技术。
- 中间件公式的判分表述:中间件=平台+通信,其中必须含一个通信中间件。
- 分布式对象中间件三代表:CORBA(OMG)、DCOM(Microsoft)、EJB(Java 服务器端分布式构件)——归属公司/组织勿混。
- 开发环境层次归属:宿主层/基本工具层/应用工具层运行在宿主机;驻留层(代理程序)运行在目标机——出题热点。
- 层次化 vs 递归模式:层次化依赖概念抽象(高层抽象依赖低层具体);递归用于分解非常复杂系统并保证可扩展(重复应用简单包含关系,自顶向下/自底向上两种工作流)。
- GOA(SAE AS4893 通用开放式架构)四特点:可移植性、可互操作性、可剪裁性、易获得性;规定 4 种直接接口(上下层直接调用)和 4 种逻辑接口(同层间基于消息)。
- DARTS 不足:虽用 IHM 封装数据存储,但未如 NRL 与 OOD 做得彻底(仍用结构化方法把任务建成程序模块);RTSA 阶段工作没做好时创建任务非常困难。
- 教材分卷注意:16.3.2 ADD 七步骤细节与 16.3.3 DARTS 前半位于 401-600 卷与 601-728 卷交界(书页 585~588),docx 抽取有缺口,蒸馏时已用 PDF 卷补齐。