学前说两句

嵌入式技术在整个架构师软考中占比也不是太高,而且和其它的章节关联度不是太高,我当时准备了鸿蒙操作系统,也没有考,这个章节还是比较简单的,主要是看几遍刷刷题就好了,不需要理解啥。

课程概要

嵌入式系统概述

硬件抽象层是为了解耦操作系统和硬件层之间的关系,抽象硬件层

中间件层:屏蔽底层操作系统层
板级支持包:易抑制

嵌入式组成部件(硬件)

典型架构

层次架构

递归架构

层次化模式架构核心知识

  1. 核心结构
    • 分层依赖:高层抽象依赖低层具体实现,通过接口交互。例如应用层调用操作系统API,操作系统管理硬件驱动。
    • 双类型分类
      • 封闭型:严格限制层间调用(如只能调用同层或下一层),确保高移植性(如嵌入式系统跨平台适配)。
      • 开放型:允许跨多层调用,优化性能(如实时系统直接访问硬件加速模块)。
  2. 关键优势
    • 模块化清晰,故障隔离(如某层故障不影响其他层)。
    • 接口标准化,降低开发复杂度(如POSIX标准接口)。

递归模式架构核心知识

  1. 核心机制
    • 双向开发流
      • 自顶向下:从系统级需求分解为子系统(如先定义网络模块,再细化协议栈)。
      • 自底向上:从基础组件构建高级功能(如先实现传感器驱动,再集成环境监测系统)。
    • 包含关系迭代:通过重复嵌套对象/子系统实现复杂功能(如嵌套的异常处理机制)。
  2. 关键优势
    • 灵活适应需求变化(如快速调整算法模块位置)。
    • 协作式开发支持(如多个团队并行开发不同层级模块)。

嵌入式系统的发展历史

历史阶段 一句话说明 核心差异点
单片微型计算机(SCM) 将CPU、存储器、I/O接口集成于单一芯片,实现基础计算与控制功能 首次实现"芯片级系统"概念,奠定嵌入式物理基础
微控制器(MCU) 集成ADC/DAC、定时器等外设并引入低功耗设计,提升系统可靠性 从"纯计算"转向"计算+外设"集成,支持复杂控制场景
片上系统(SoC) 集成GPU/DSP/基带处理器等专用模块,支持多媒体处理与异构计算 从"通用计算"转向"专用计算"集成,实现片上异构架构
联网嵌入式 集成TCP/IP协议栈与无线通信模块,支持物联网协议与云端交互 从"单机运行"转向"设备-云端"双向通信,构建物联网基础
智能云化 集成AI加速单元并支持边缘-云端协同,实现实时智能决策 从"被动响应"转向"主动智能",形成"端-边-云"三级架构

嵌入式微处理器

SOC不只是一款有运算能力的芯片

嵌入式操作系统

嵌入式操作系统的定义

按时间敏感度进行分类

还有一个特点就是固化,可裁剪、可配置是说可定制化

没有明确在什么时间内处理完成

嵌入式操作系统调度算法

按安全进行分类

操作系统内核架构

微内核和宏内核

操作系统的空间分为用户空间和内核空间

按照内核空间的复杂程度可以分为宏内核和微内核,可以看到,宏内核(单体内核)内部的功能很多,而微内核的功能不多,然后把一部分功能放到了用户空间来做了。

优缺点

微内核代码量少,一般不会相互调用的,而且性能偏低

为什么说微内核适合于分布式系统呢?

在微内核中,客户进程通过核心态请求到用户态中的服务器,是一种B/S架构,所以可以分布式调用。

鸿蒙系统内核架构

鸿蒙系统使用的是微内核

嵌入式数据库

特点

按照数据存储位置进行分类


嵌入式软件开发

中断和查询是IO数据传输方式的两种。中断情况下微处理器的效率会更高一些

思维导图

# 嵌入式技术 - 核心知识思维导图

│
├── 0️⃣ 嵌入式系统概述 (★★)
│   ├── 基本概念
│   │   ├── 以应用为中心,计算机技术为基础
│   │   ├── 软硬件可配置、可裁剪
│   │   ├── 满足功能、可靠性、成本、体积、功耗要求
│   │   └── 作为部件埋藏于控制装置中
│   ├── 组成
│   │   ├── 嵌入式处理器
│   │   ├── 相关支撑硬件
│   │   ├── 嵌入式操作系统
│   │   ├── 支撑软件
│   │   └── 应用软件
│   ├── 嵌入式中间件
│   │   └── 作用:抽象底层硬件,屏蔽硬件差异
│   ├── 典型架构
│   │   ├── 层次化模式架构
│   │   │   ├── 封闭型:一层只能调用同层或下一层(封装性好,移植性强)
│   │   │   └── 开放型:一层可调用任意层(性能高,耦合度高)
│   │   └── 递归模式架构
│   │       ├── 自顶向下:从系统整体拆分为子系统
│   │       └── 自底向上:从功能域构建抽象
│   └── 初始化过程
│       ├── 片级初始化:CPU内核、寄存器、中断向量
│       ├── 板级初始化:内存、时钟、外设等板级硬件
│       └── 系统级初始化:OS启动、任务/服务创建
│
├── 1️⃣ 嵌入式硬件 (★★)
│   ├── 发展历程
│   │   ├── 第一阶段:单片微型计算机(SCM)
│   │   ├── 第二阶段:微控制器(MCU)
│   │   ├── 第三阶段:片上系统(SoC)
│   │   ├── 第四阶段:以Internet为基础(联网嵌入式)
│   │   └── 第五阶段:智能化、云技术推动(AIoT)
│   └── 嵌入式微处理器
│       ├── MPU(微处理器):仅CPU,需外配存储器和I/O
│       ├── MCU(微控制器/单片机):集成CPU、RAM、ROM、I/O
│       ├── DSP(数字信号处理器):哈佛结构,擅长数学计算
│       ├── GPU(图形处理器):并行计算强,峰值可达100 TFlops以上
│       └── SoC(片上系统)
│           ├── 不只是一块处理器,而是一个微小型系统
│           ├── CPU是大脑
│           ├── SoC包含:大脑(CPU)、心脏(总线/DMA)、眼睛和手(外设接口)
│           ├── 集成微处理器、模拟IP核、数字IP核、存储器
│           └── 面向特定用途的标准产品(ASSP)
│
├── 2️⃣ 嵌入式操作系统 (★★★)
│   ├── 定义与特点
│   │   ├── 负责软硬件资源分配、任务调度
│   │   ├── 包含:底层驱动、内核、设备接口、通信协议、图形界面等
│   │   ├── 微型化
│   │   ├── 代码质量高
│   │   ├── 专业化
│   │   ├── 实时性强
│   │   ├── 可裁剪、可配置
│   │   └── 可固化(程序固化在ROM中)
│   ├── 系统分类
│   │   ├── 按时间敏感度
│   │   │   ├── 嵌入式非实时系统(如老式手机)
│   │   │   └── 嵌入式实时系统(RTOS)
│   │   └── 按安全性要求
│   │       ├── 安全攸关系统(汽车、医疗)
│   │       └── 非安全攸关系统(普通家电)
│   ├── 实时操作系统实时性评价指标
│   │   ├── 中断响应和延迟时间
│   │   ├── 任务切换时间
│   │   └── 信号量混洗时间(任务间同步的开销)
│   ├── 实时操作系统调度算法
│   │   ├── 时间片轮转
│   │   ├── 优先级调度(非抢占)
│   │   │   ├── 为每个任务分配固定优先级
│   │   │   └── 按优先级高低排队运行
│   │   ├── 抢占式优先级调度
│   │   │   ├── 高优先级任务可抢占低优先级
│   │   │   └── 优先级由任务紧急程度决定
│   │   ├── RMS(单调速率调度)
│   │   │   └── 周期越短,优先级越高(固定优先级)
│   │   ├── EDF(最早截止期优先)
│   │   │   └── 截止时间越早,优先级越高(动态优先级)
│   │   └── LLF(最低松弛度优先)
│   │       └── 松弛度 = 截止期 - 当前时间 - 剩余执行时间
│   └── 操作系统内核架构
│       ├── 核心概念:内核是操作系统核心,管理资源
│       ├── 单体内核(宏内核)
│       │   ├── 功能:图形、驱动、文件系统全在内核中
│       │   ├── 优点:函数直接调用,效率高
│       │   ├── 缺点:庞大、稳定性差、安全性低
│       │   └── 代表:Linux内核(早期/传统)
│       └── 微内核
│           ├── 功能:只实现IPC、调度、内存管理等基本功能
│           ├── 特点:服务和驱动在用户态(服务化)
│           ├── 代表:鸿蒙、QNX、L4
│           ├── 优点:结构清晰、可裁剪、安全稳定、高可靠
│           └── 缺点:传统实现效率较差(IPC/上下文切换开销),现代微内核已大幅优化
│
├── 3️⃣ 鸿蒙操作系统 (★★★)
│   ├── 概述:华为研发的面向全场景的分布式操作系统
│   ├── 技术特性
│   │   ├── 分布式架构(软总线)
│   │   ├── 确定时延引擎 + 高性能IPC
│   │   ├── 基于微内核架构的可信安全
│   │   └── 统一IDE,一次开发多端部署
│   └── 架构层次(自下而上)
│       ├── 内核层
│       │   ├── 微内核设计(LiteOS-A)
│       │   └── 内核抽象层(支持多内核,含Linux)
│       ├── 系统服务层
│       ├── 框架层
│       └── 应用层
│
├── 4️⃣ 嵌入式数据库 (★)
│   ├── 特点
│   │   ├── 嵌入式(无需独立数据库服务器进程)
│   │   ├── 实时性
│   │   ├── 移动性
│   │   └── 伸缩性
│   └── 分类
│       ├── 基于内存的数据库(MDB):速度快,掉电易失
│       ├── 基于文件的数据库(FDB)
│       │   ├── 以文件方式存储,安全性低
│       │   └── 满足空间/时间受限场景(如SQLite)
│       └── 基于网络的数据库(NDB)
│           ├── 客户端 + 通信协议 + 远程服务器
│           ├── 无需解析SQL(客户端小巧)
│           └── 注意:不正确的是“以文件方式存储”
│
├── 5️⃣ 嵌入式系统设计 (★)
│   ├── 软件开发与调试
│   │   ├── JTAG:国际标准测试协议(调试/烧录接口)
│   │   ├── 仿真器/烧录器
│   │   └── 串口调试输出
│   ├── 功耗控制
│   │   ├── 软硬件协同设计
│   │   ├── 编译优化
│   │   ├── 减少持续运行时间(算法优化)
│   │   ├── 用“中断”代替“查询”(避免空转)
│   │   └── 电源有效管理(调频/休眠/动态电压调节)
│   ├── 常见考点:Bootloader(U-Boot)、看门狗、中断处理流程
│   └── 内存管理:MMU、虚拟地址与物理地址映射(部分RTOS无MMU)
│
└── 6️⃣ 习题与考点提示 (★★★)
    ├── 嵌入式中间件作用:抽象底层硬件(正确)
    ├── 典型架构:层次化 + 递归模式(正确)
    ├── GPU峰值性能:100 TFlops以上(正确)
    ├── 实时操作系统特点:不包括“通用性”(正确)
    ├── 实时系统响应时间:被控对象允许的时间范围内(正确)
    ├── 微内核特征:不包括“功能代码互相调用,性能很高”(正确)
    ├── 鸿蒙内核:微内核(基本正确,注意实际实现中存在多内核)
    ├── NDB特征:不包括“以文件方式存储”(正确)
    ├── 补充考点:Bootloader的作用(硬件初始化→加载OS)
    ├── 补充考点:看门狗定时器(防止系统死锁)
    ├── 补充考点:中断响应流程(保护现场→执行ISR→恢复现场)
    └── 补充考点:任务间通信方式(信号量、消息队列、事件标志组)

# 嵌入式技术 - 核心知识思维导图


├── 0️⃣ 嵌入式系统概述 (★★)
│   ├── 基本概念
│   │   ├── 以应用为中心,计算机技术为基础
│   │   ├── 软硬件可配置、可裁剪
│   │   ├── 满足功能、可靠性、成本、体积、功耗要求
│   │   └── 作为部件埋藏于控制装置中
│   ├── 组成
│   │   ├── 嵌入式处理器
│   │   ├── 相关支撑硬件
│   │   ├── 嵌入式操作系统
│   │   ├── 支撑软件
│   │   └── 应用软件
│   ├── 嵌入式中间件
│   │   └── 作用:抽象底层硬件
│   ├── 典型架构
│   │   ├── 层次化模式架构
│   │   │   ├── 封闭型
│   │   │   │   └── 一层中的对象只能调用同一层或下一底层(封装移植性好)
│   │   │   └── 开放型
│   │   │       └── 一层中的对象可以调用任意一层(性能好)
│   │   └── 递归模式架构
│   │       ├── 自顶向下
│   │       │   └── 从系统层级开始,标识结构对象,分为子系统,向下推进
│   │       └── 自底向上
│   │           └── 专注于域的构造,实现子系统级的抽象
│   └── 初始化过程
│       ├── 片级初始化
│       ├── 板级初始化
│       └── 系统级初始化

├── 1️⃣ 嵌入式硬件 (★★)
│   ├── 发展历程
│   │   ├── 第一阶段:单片微型计算机(SCM)
│   │   ├── 第二阶段:微控制器(MCU)
│   │   ├── 第三阶段:片上系统(SoC)
│   │   ├── 第四阶段:以Internet为基础
│   │   └── 第五阶段:智能化、云技术推动
│   └── 嵌入式微处理器
│       ├── MPU(微处理器)
│       ├── MCU(微控制器,单片机)
│       ├── DSP(信号处理器,哈佛结构)
│       ├── GPU(图形处理器)
│       │   └── 峰值性能可高达100 TFlops以上
│       └── SoC(片上系统)
│           ├── 不只是一块处理器芯片
│           ├── 是一个微小型系统
│           ├── CPU是大脑
│           ├── SoC包含:大脑、心脏、眼睛和手
│           ├── 集成微处理器、模拟IP核、数字IP核、存储器
│           └── 面向特定用途的标准产品

├── 2️⃣ 嵌入式操作系统 (★★★)
│   ├── 定义与特点
│   │   ├── 负责软硬件资源分配、任务调度
│   │   ├── 包括底层驱动、内核、设备接口、通信协议、图形界面等
│   │   ├── 微型化
│   │   ├── 代码质量高
│   │   ├── 专业化
│   │   ├── 实时性强
│   │   ├── 可裁剪、可配置
│   │   └── 可固化
│   ├── 系统分类
│   │   ├── 按时间敏感度
│   │   │   ├── 嵌入式非实时系统
│   │   │   └── 嵌入式实时系统
│   │   └── 按安全性要求
│   │       ├── 安全攸关系统
│   │       └── 非安全攸关系统
│   ├── 实时操作系统实时性评价指标
│   │   ├── 中断响应和延迟时间
│   │   ├── 任务切换时间
│   │   └── 信号量混洗时间
│   ├── 实时操作系统调度算法
│   │   ├── 时间片轮转
│   │   ├── 优先级调度
│   │   │   ├── 系统为每个任务分配一个相对固定的优先顺序
│   │   │   └── 调度程序根据优先级的高低排序
│   │   ├── 抢占式优先级调度
│   │   │   ├── 在优先级算法的基础上,允许高优先级抢占低优先级任务
│   │   │   └── 根据紧急程度确定该任务的优先级
│   │   ├── RMS(单调速率调度)
│   │   │   └── 任务周期越短,优先级越高
│   │   ├── EDF(最早截止期调度)
│   │   │   └── 根据任务截止时间头端来确定优先级
│   │   └── LLF(最低松弛度优先)
│   │       └── 根据任务截止时间末端来确定优先级
│   └── 操作系统内核架构
│       ├── 核心概念:操作系统内核是操作系统的核心,管理各种资源
│       ├── 单体内核(宏内核)
│       │   ├── 将图形、设备驱动及文件系统等功能全部在内核中实现
│       │   ├── 优点:效率高
│       │   └── 缺点:内核庞大,稳定性安全性差
│       └── 微内核
│       │   ├── 只实现基本功能,将图形系统、文件系统、设备驱动及通信功能放在内核之外
│       │   ├── 代表:鸿蒙操作系统
│       │   ├── 优点:结构清晰、可裁剪、安全稳定
│       │   └── 缺点:性能偏低

├── 3️⃣ 鸿蒙操作系统 (★★★)
│   ├── 技术特性
│   │   ├── 分布式架构
│   │   ├── 确定时延引擎 + 高性能IPC
│   │   ├── 基于微内核架构的可信安全
│   │   └── 统一IDE,一次开发多端部署
│   └── 架构层次
│       ├── 内核层(微内核设计)
│       ├── 系统服务层
│       ├── 框架层
│       └── 应用层

├── 4️⃣ 嵌入式数据库 (★)
│   ├── 特点
│   │   ├── 嵌入式
│   │   ├── 实时性
│   │   ├── 移动性
│   │   └── 伸缩性
│   └── 分类
│       ├── 基于内存的数据库(MDB)
│       ├── 基于文件的数据库(FDB)
│       │   └── 安全性低,但满足空间/时间要求
│       └── 基于网络的数据库(NDB)
│           ├── 客户端 + 通信协议 + 远程服务器
│           ├── 无需解析SQL,客户端小
│           └── 不正确的是:以文件方式存储

├── 5️⃣ 嵌入式系统设计 (★)
│   ├── 软件开发与调试
│   │   └── JTAG(国际标准测试协议)
│   └── 功耗控制
│       ├── 软硬件协同设计
│       ├── 编译优化
│       ├── 减少持续运行时间(算法优化)
│       ├── 用“中断”代替“查询”
│       └── 电源有效管理

└── 6️⃣ 习题与考点提示 (★★★)
    ├── 嵌入式中间件作用:抽象底层硬件
    ├── 典型架构:层次化 + 递归模式
    ├── GPU峰值性能:100 TFlops以上
    ├── 实时操作系统特点:不包括“通用性”
    ├── 实时系统响应时间:被控对象允许的时间范围内
    ├── 微内核特征:不包括“功能代码互相调用,性能很高”
    ├── 鸿蒙内核:微内核,不是宏内核
    └── NDB特征:不包括“以文件方式存储”

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐