嵌入式系统最标准的定义,通常表述为:"嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能 、可靠性 、成本 、体积 、功耗等严格要求的专用计算机系统。

一、 实时操作系统 (RTOS) 核心考点
1. RTOS 的本质特征
-
确定性 :这是 RTOS 与 Windows/Linux 等通用系统最大的区别。它不要求速度最快,但要求在规定的时间内必须完成 (硬实时)或大概率完成(软实时)。
-
高可靠性:系统不能轻易崩溃。
2. RTOS 性能评价指标(高频考点)
在评估一个 RTOS 好不好时,我们看以下指标(越短越好):
-
上下文切换时间:CPU 保存当前任务现场,加载下一个任务现场所需的时间。
-
最大中断延迟:从中断信号到达 CPU,到 CPU 开始执行中断服务程序(ISR)第一条指令的时间。
-
任务抢占时间:高优先级任务从就绪状态到实际获得 CPU 控制权的时间。
-
调度算法的效率:调度器决定哪个任务运行所需的时间(通常要求 O(1)复杂度)。
注意(避坑): 任务执行时间 (取决于应用程序代码的复杂度和 CPU 主频,属于应用层面的事,不是操作系统本身的性能指标。
二、 任务调度与并发控制
1. 调度方式
-
抢占式:高优先级任务一旦就绪,立即剥夺低优先级任务的 CPU 使用权(RTOS 标配)。
-
轮转调度:同优先级的任务按时间片轮流执行。
2. 优先级反转 ------ 必考难点
-
现象 :高优先级任务(H)被低优先级任务(L)阻塞,而中优先级任务(M)抢占了 L 的 CPU,导致 H 迟迟无法运行。结果是:中优先级的 M 先于高优先级的 H 执行了。
-
原因:L 占用了 H 需要的共享资源(如互斥锁),但 L 优先级太低,一直被 M 抢占,导致 L 没法快速释放资源。
3. 解决方案
-
优先级继承:
-
原理 :当高优先级任务 H 等待低优先级任务 L 持有的资源时,临时将 L 的优先级提升到与 H 相同。
-
效果:L 变成了"高富帅",中优先级任务 M 无法抢占 L。L 能尽快执行完临界区代码并释放资源,H 就能拿到资源运行。L 释放资源后,优先级恢复原状。
-
-
优先级天花板:
- 原理:给每个共享资源设定一个"天花板优先级"(等于所有可能访问该资源的任务中的最高优先级)。任何任务只要访问该资源,其优先级直接提升到天花板级别。
根据常见软考题型,关于优先级继承的易错点通常如下,你可以对照复习:
优先级继承不能消除死锁:它只是解决优先级反转问题,死锁需要通过资源有序分配等方式解决。
优先级是动态变化的:只有在持有资源并阻塞了高优先级任务时才提升,不是一直提升。
不能解决所有反转:如果有复杂的嵌套锁,优先级继承可能会失效或变得极其复杂。
三、 中断与 I/O 管理
1. 中断 (Interrupt)
-
中断向量表:内存中一块区域,存放中断服务程序的入口地址。
-
中断处理流程:保护现场 → 执行 ISR 恢复现场 → 返回。
-
不可重入函数 :在中断服务程序中,严禁调用不可重入函数(如 malloc, printf),否则会导致堆栈破坏或系统崩溃。
2. I/O 控制方式对比
-
程序查询 (Polling):CPU 死循环检查,效率最低。
-
中断驱动 (Interrupt-driven):外设准备好了通知 CPU,效率较高,适合少量数据。
-
DMA (直接存储器访问) :最快 。CPU 只需要发个指令,数据由 DMA 控制器直接在外设与内存之间传输,不经过 CPU。适合大数据块传输(如硬盘读写、网络数据)。
四、 存储管理核心
1. Cache (高速缓存)
- 解决 CPU 与主存速度不匹配的问题。利用了局部性原理(时间局部性、空间局部性)。
2. MMU (内存管理单元)
-
虚拟地址映射:将逻辑地址转换为物理地址。
-
内存保护:防止进程越界访问。
3. Flash (闪存)
-
NOR Flash:代码可直接运行 (XIP),适合存 Bootloader 和内核,读取快,写入慢。
-
NAND Flash:容量大,便宜,不能直接运行代码,需加载到 RAM,适合做硬盘存数据。