Skip to content

Latest commit

 

History

History
70 lines (53 loc) · 3.24 KB

README_zh.md

File metadata and controls

70 lines (53 loc) · 3.24 KB

FOS( Fast Operating System )

Build Status

FOS是一款全新的开源实时操作系统(RTOS)。支持优先级抢占,FIFO(先进先出),RR(时间片轮) 三种调度算法。

它具备高度轻便可移植性(移植到不同的硬件平台),代码清晰,模块化,低耦合,可读性强。 同时也适用于硬件资源非常紧缺的情况,可以裁剪内核为FSM(有限状态机),仅仅200B的内存 占用空间。

由于FOS底层对接了LINUX的用户栈,线程切换接口,心跳定时器,网络/dev/tap,用户可以在 linux平台上直接运行FOS,单步调试FOS,可以很方便清楚的看到FOS的线程调度,锁使用的具 体情况,极度高效学习操作系统原理。

功能:

  1. 支持多任务运行, 支持基于优先级任务调度,支持同等优先级FIFO调度。
  2. 支持message queue。
  3. 支持信号量, 支持互斥锁, 支持优先级置顶算法。
  4. 支持软定时器、延时函数。
  5. 支持一个int的bit个数的任务数。
  6. 支持0中断延迟时间。
  7. 简化整个软件框架。只用old_task和new_task维护任务切换。
  8. 系统支持优先启动任何任务,包括低优先级任务。
  9. 支持创建任务时指明是否可以运行。
  10. 支持shell组件。
  11. 支持uip协议栈。
  12. 支持文件系统。

相比其他RTOS优势:

  1. 调度算法采用速度最快的first bit search算法
  2. 用户接口采用posix
  3. 解决传统mutex优先级继承问题
  4. 采用中断上下部增加实时性
  5. 添加状态机框架满足应用软件设计需要
  6. 文件组织结构优化,比如所需的c文件只要包含一个头文件既可,避免头文件污染

快速搭建
下载源码到linux平台,直接make,不需要任何库依赖,FOS还支持scons的构建方式,可以直接 执行scons(系统需要安装scons),生成的fos就可以直接运行,因为用到了linux的NAT方式,执 行fos时候用sudo最高执行权限。所以只要系统支持make和gcc,就可以运行FOS。


源码结构

  • kernel : 内核代码,包括线程管理,信号量,互斥锁,任务调度算法, 定时器,消息队列,设备管理, 内存管理, 事件驱动管理
  • app : 用户层逻辑代码
  • cpu : 芯片移植代码,包括线程栈,任务切换,定时器,中断,数据类型
  • libc : 基本的C库
  • middleware : 组建,包括key-value存储,shell命令行,UIP网络协议
  • SConstruct and config.py : 构建系统工具
  • start_or1ksim.sh : or1ksim芯片模拟器运行

文档
文档中心


贡献
杨善锦(Jim)

License: GPL.

任何问题欢迎联系 1150660744@qq.com or 微信 : dreamflyforever.