Skip to content

skaiui2/SkRTOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SkRTOS

SKRTOS采用微内核架构开发,目的是实现一个分布式实时操作系统。

笔者想实现的一个效果就是:把一百片esp32链接起来给远程的一个人使用,让他感觉自己在使用一片比esp32强一百倍的mcu,而不是在使用一百片esp32。

大概分四层:

第一层是linux化的实时操作系统,目的是实现基本的调度和IPC机制。

第二层是实现POSIX接口后兼容linux生态,这一层为基本组件,如shell、文件系统、设备树。

第三层是特定的RPC协议。

第四层是基于RPC协议的分布式应用。

理论参考:《操作系统---并发与分布式软件设计》(jean)、《分布式操作系统》(Andrew)

源码说明

skrtos文件夹是稳定版本的rtos内核,大概一个月更新一次。

SKRTOS_exploit是开发中的备份内核源码,包括完整的开发工程和正在开发中的RTOS源码,更新时间取决于开发进度。

记录

2024.11/17 晚

耗时三个月,利用零碎的时间,终于完成了SKRTOS0.11版本。这是初步版本,共四十个文件,约有上万行代码。

总功能如下:

任务管理:线程、延时阻塞、时间片、分时系统、优先级抢占、定时器、CPU利用率统计

内存管理:支持动态内存,有小内存管理和内存池管理两种功能

并发管理:临界区、原子操作

IPC层:消息队列、信号量、互斥量、完成量、事件组、通知量

反思与回顾

SKRTOSV0.11版本是一个实验品,说实话,笔者对它的代码非常不满意,既不优雅,也不美观,但是很无奈,作为它的作者,只能承认自己的设计能力不足。

写到最后,笔者的已经把SKRTOS的代码作为一种思路的记录,从完成量开始,SKRTOS的功能就没有测试了。

POSIX接口这些暂时放一放了,因为过段时间准备重新写一个RTOS,SKRTOSV0.11版本算是一种试错,且容笔者缓一缓。

接下来准备更新单独的组件,准备写一个设备树编译器,说实话,笔者虽然十分热衷于写底层组件,但是重复的轮子也会让人觉得毫无意义,如果有现成的的设备树,笔者是很热衷于移植的,可是很无奈,找不到成熟的轮子,所以,笔者打算写一个小巧、易移植的设备树编译器。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published