# AntOS **Repository Path**: gevico/antos ## Basic Information - **Project Name**: AntOS - **Description**: 超轻量级实时操作系统,适合在8051为内核的MCU上运行,专门为小型家电及简易物联网终端设计。 - **Primary Language**: C - **License**: Apache-2.0 - **Default Branch**: new_framework - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 510 - **Forks**: 118 - **Created**: 2021-06-04 - **Last Updated**: 2025-06-16 ## Categories & Tags **Categories**: os, iot **Tags**: None ## README # AntOS ### 介绍 Ant Real-time operating system(简称AntOS),是一款超轻量级实时操作系统,抢占式调度极简内核,专门为小型家电及轻量型物联网终端设计,适合在8051为内核的MCU上运行。现在开源beta版本,用于测试。 如果你从来没有使用过RTOS,那么AntOS将是你低成本入门RTOS的最佳选择。你只需要准备一块51的MCU和下载器,就可以轻松运行起来AntOS。核心源码采用了中英文互译注释,让你阅读和理解源码没有任何障碍,轻松学习RTOS的核心原理。 [点我观看介绍视频](https://www.bilibili.com/video/BV1m64y1r7Pc) > 开源项目QQ交流群:`1001220381`,欢迎加群找我摸鱼~ 希望大家可以给我一个Star!这将会是我持续更新的动力! #### 软件架构 AntOS提供层级服务,可以进行任意裁剪。内核层包含两个子系统,提供AntOS最基本的功能;服务层对内核层进行封装,提供组件和服务;应用层提供给发者编写业务逻辑,同时提供移植第三方软件包的接口。 AntOS将尽量遵循POSIX标准来编写内核层,以便提高移植性,为后续产品升级减少开发成本。 #### 性能测试 测试形式为:创建两个线程,线程内做IO翻转。 | 硬件平台 | 系统时钟频率 | 线程切换消耗时间 | 同比UCOS-II | | :------: | :----------: | :--------------: | :---------: | | STC8 | 24M | 70us | 120us | | STC8 | 27M | 64us | 109us | | STC8 | 45M | 38us | 63us | | STC8 | 48M | 35us | 58us | | STC16 | 24M | 12us | --- | | STC16 | 27M | 11us | --- | | STC16 | 45M | 6.5us | --- | | ... | ... | ... | ... | 同比UCOS-II(51移植版本),要快1.7~2倍以上,还在做相关的优化,争取进一步提高速度! #### 约束 1. AntOS,不支持函数可重入(受51内核架构限制) 2. 仅支持抢占式调度,不支持时间片调度 3. 不允许多线程同优先级 ### 快速上手 #### 准备工具 ##### 编译器 KeilC51-V901完整版,或仅使用其编译工具链 ##### 代码编辑器 推荐使用Vscode 或 source insight,如果你没有用过这两个软件,直接使用Keil即可。 ##### 烧录软件 根据使用的MCU,去下载对应的烧录软件。 比如我现在使用的是STC公司的芯片,那么我需要准备STC-ISP烧录助手。 #### 获取源码 下载源代码的方式有很多,可以使用Git克隆 ``` https://gitee.com/open-ell/antos.git ``` 也可以在Gitee仓库直接点击「克隆/下载」。 #### 使用说明 目前AntOS的开发进度在内核层,主要聚焦在「内核子系统」。已经完成了线程操作、动态内存管理、面向对象的管理框架。由于51资源受限,所以还在对已完成的部分进行深度优化,尽最大可能保证稳定性和较小的ROM占用。 你可以下载尝鲜,仅适用于学习,还未经过商业验证稳定性。 #### 注意事项 1. 尽量在线程入口函数内调研操作系统的API,而不是在线程内子函数里调用。比如挂起、休眠等API,在线程入口函数里调用,会减少堆栈的切换成本。 #### 参与贡献 1. Fork 本仓库 3. 提交代码 4. 新建 Pull Request 5. 星标本仓库