外观
1.3 操作系统的多元分类
这节要搞懂:什么是实时性,什么是 RTOS,FreeRTOS 又是什么。 需要基础:1.2
一、什么是"实时性"
实时性指的是系统在确定的时间上限内,对外部事件作出响应的能力。衡量它的标准不是"平均有多快",而是"最坏情况下会不会超时"。
这是新手最容易搞错的地方。看两个例子:
| 平均反应 | 偶尔会卡到 | 算实时吗 | |
|---|---|---|---|
| 一台高性能电脑 | 0.05 毫秒 | 50 毫秒 | ❌ 不算 |
| 一颗普通单片机 | 2 毫秒 | 2 毫秒 | ✅ 算 |
电脑明明快得多,为什么反而不算?
打个比方:小王平时 5 分钟到公司,但堵车时要 1 小时;小李每天雷打不动 20 分钟。
小李慢,但他"准时"。实时系统要的是小李这种。
二、为什么"准时"这么重要
想想这些场景:
- 汽车撞击后,安全气囊必须在 30 毫秒内弹开 —— 晚一点人就没了
- 电机控制,信号晚一点点就抖动、发热
这些场合宁可整体慢一点,也绝不能"偶尔卡一下"。
三、什么是 RTOS
RTOS(Real-Time Operating System,实时操作系统)是一种能保证任务在规定时间内被处理的操作系统。它通过优先级抢占式调度,确保重要的任务总能第一时间获得 CPU。
和通用 OS 比一比:
| 通用 OS | RTOS | |
|---|---|---|
| 追求什么 | 整体效率高、大家都别饿着 | 重要的事绝不迟到 |
| 谁先执行 | 系统动态调整 | 谁优先级高谁先 |
| 系统占多大 | 几十 MB | 几 KB ~ 十几 KB |
| 开机要多久 | 几十秒 | 几毫秒 |
| 跑在哪 | 手机、电脑 | 单片机、物联网设备 |
一句话
RTOS = 保证不迟到的操作系统。
四、什么是 FreeRTOS
FreeRTOS 是一款开源、免费、轻量级的实时操作系统内核。它以源码形式提供,和用户程序一起编译进固件,为嵌入式开发提供任务调度、任务间通信、内存管理等核心能力。
它是最流行的 RTOS,原因有四个:
| 优点 | 说明 |
|---|---|
| 完全免费商用 | 做产品卖钱也不用公开自己的代码 |
| 体积极小 | 核心就三个源文件,只占几 KB |
| 哪都能跑 | 支持 40 多种芯片,ESP32、STM32 都内置了 |
| 资料最多 | 遇到问题一搜一大把,遇到坑别人都踩过 |
五、三者的关系
操作系统(管理资源、调度任务)
│
┌───────┴────────┐
│ │
通用 OS RTOS (保证不迟到)
(手机、电脑) │
┌──────┼──────┐
│ │ │
FreeRTOS RT-Thread Zephyr
↑
我们学这个我们用 ESP32
本课程第二、三章用 ESP32-S3 这块芯片,它的官方开发框架 ESP-IDF 已经内置了 FreeRTOS,不用自己下载移植,开箱即用。
本节要点
- 实时性 = 在规定时间上限内响应,看的是最坏情况,不是平均速度
- RTOS = 保证任务不迟到的操作系统,靠优先级抢占实现
- FreeRTOS = 最流行的 RTOS:免费商用、体积小、支持广、资料多
- 关系:操作系统 → RTOS → FreeRTOS,一层比一层具体
动手试试
- 分别用一句话说清楚:什么是实时性、什么是 RTOS、什么是 FreeRTOS。
- 举一个身边的例子,说明"偶尔卡一下"会造成严重后果。
- 想一想:你的手机算不算实时系统?为什么?