很多人在学习嵌入式开发时都会遇到一个问题:

既然已经有很多成熟的 RTOS,比如 FreeRTOS、RT-Thread 等,为什么还要自己设计一个 RTOS?

HRTOS 的设计,并不是为了替代现有的 RTOS,而是希望通过自己实现一个实时操作系统,更深入地理解 RTOS 的工作原理。

使用 RTOS,可以快速开发产品。

但是自己设计 RTOS,可以真正理解:

- 任务是如何运行的
- 调度器是如何工作的
- 任务切换是如何实现的
- 中断和任务之间有什么关系

这些内容,单纯调用 API 很难深入理解。

HRTOS 最初定位在 8051 这类资源有限的单片机平台。

相比 ARM 等高性能 MCU,8051 的资源更加有限,因此设计 RTOS 时需要考虑:

- 更少的 RAM 占用
- 更低的运行开销
- 更简单的系统结构
- 更容易理解的代码

在这个过程中,需要不断优化内核设计,让一个小型 MCU 也能够运行实时操作系统。

当然,现有 RTOS 已经非常优秀,经过多年发展,功能和稳定性都很成熟。

设计 HRTOS 的意义,并不是重新发明一个 RTOS,而是通过实践探索实时系统的设计方法。

从任务调度,到同步通信,再到系统优化,每一个模块都需要深入理解。

对于学习嵌入式的人来说,自己实现一个 RTOS,是一次非常有价值的实践。

因为只有真正设计过,才能理解一个操作系统为什么这样设计。

HRTOS 就是在这样的背景下诞生的。

它希望成为一个轻量、易理解、适合学习和研究的实时操作系统。

Logo

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

更多推荐