我为什么设计 HRTOS,而不是直接使用现有 RTOS?
很多人在学习嵌入式开发时都会遇到一个问题:
既然已经有很多成熟的 RTOS,比如 FreeRTOS、RT-Thread 等,为什么还要自己设计一个 RTOS?
HRTOS 的设计,并不是为了替代现有的 RTOS,而是希望通过自己实现一个实时操作系统,更深入地理解 RTOS 的工作原理。
使用 RTOS,可以快速开发产品。
但是自己设计 RTOS,可以真正理解:
- 任务是如何运行的
- 调度器是如何工作的
- 任务切换是如何实现的
- 中断和任务之间有什么关系
这些内容,单纯调用 API 很难深入理解。
HRTOS 最初定位在 8051 这类资源有限的单片机平台。
相比 ARM 等高性能 MCU,8051 的资源更加有限,因此设计 RTOS 时需要考虑:
- 更少的 RAM 占用
- 更低的运行开销
- 更简单的系统结构
- 更容易理解的代码
在这个过程中,需要不断优化内核设计,让一个小型 MCU 也能够运行实时操作系统。
当然,现有 RTOS 已经非常优秀,经过多年发展,功能和稳定性都很成熟。
设计 HRTOS 的意义,并不是重新发明一个 RTOS,而是通过实践探索实时系统的设计方法。
从任务调度,到同步通信,再到系统优化,每一个模块都需要深入理解。
对于学习嵌入式的人来说,自己实现一个 RTOS,是一次非常有价值的实践。
因为只有真正设计过,才能理解一个操作系统为什么这样设计。
HRTOS 就是在这样的背景下诞生的。
它希望成为一个轻量、易理解、适合学习和研究的实时操作系统。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)