也许一些坛友发现嵌入式栏最近多了一个RAWOS版块,没错,你没看错,是多了一个RAWOS,也许你会问RAWOS是何方神圣,有什么特点和优势。RAWOS是版主jorya_txj的杰作,说起版主,我不得不说他是个十分有激情的年轻人,为了全心全意的开发属于中国人自己的操作系统,他全职编写RAWOS。而且为人热情,到时大伙有问题的话可以直接发帖或者联系他都行。针对大伙上面的的一些疑惑,我先简单的介绍下
Raw-OS 操作系统特性:
支持task任意优先级
支持task无限多个
支持semaphore无限多个
支持mutex无限多个,支持优先级继承算法当优先级反转的时候
支持queue无限多个, 支持queue一对多群发,包含了mail box 的功能。支持queue 发送msg 的时候队列满的时候睡眠。
支持软件timer无限多个。
支持event无限多个。
block内存分配机制,适用于整块的内存分配,没有内存碎片,支持分配不到内存的时候睡眠等待。
byte内存分配机制,适用于任何体积大小的分配,有内存碎片,采用first fit 算法,支持临接空闲块的合并, 支持分配不到内存的时候睡眠等待。
调度算法采用双向链表就绪队列,省去位图,采用目前世界上最快的bits搜索算法。
支持动态监测所有任务栈空间大小,栈空间小于整体的10%。 系统马上报错。
支持轻量级别的condition msg,这是一个轻量级别的event加上+msg的功能。非常迅速高效。
任务能以FIFO和PRIO 两种方式block 在semphore, mutex, queue, 等等对象上。
采用目前最快的计算tick timeout 的算法。
内核状态机的转换机制非常健全。
同等优先级调度,支持时间片轮。
极其丰富的的API功能,内核支持配置各种功能,最小内核2K。
支持 8位,16位,32位的cpu以及dsp。
最重要的是该系统稳定可靠,移植简明扼要,代码开源。对于一些没接触过操作系统的朋友来说,应该是一个不错的选择。
如果想下载项目代码可以到RAWOS官网下载相关资料http://www.raw-os.com/Index.html
如果大伙研究过UCOS的话,那就入门更快了,因为这个系统和UCOS还是有相同点的
下面我们介绍下RAWOS和UCOS的区别:
- 1、支持task任意优先级
- 2、支持task无限多个
- 3、支持semaphore无限多个
- 4、支持mutex无限多个,支持优先级继承算法当优先级反转的时候
- 5、支持queue无限多个,支持queue一对多群发,包含了mail box 的功能;支持queue发送msg 的时候队列满的时候睡眠。
- 6、支持event无限多个
- 7、支持软件timer无限多个。
- 8、block内存分配机制,适用于整块的内存分配,没有内存碎片,支持分配不到内存的时候睡眠等待。
- 9、byte内存分配机制,适用于任何体积大小的分配,有内存碎片,采用first fit 算法,支持临接空闲块的合并,支持分配不到内存的时候睡眠等待。
- 10、调度算法采用双向链表就绪队列,省去位图,采用目前世界上最快的bits搜索算法。
- 11、支持动态监测所有任务栈空间大小,栈空间小于整体的10%。 系统马上报错。
- 12、支持轻量级别的condition msg,这是一个轻量级别的event加上+msg的功能。非常迅速高效。
- 13、任务能以FIFO和PRIO 两种方式block 在semphore, mutex, queue, 等等对象上。
- 14、采用目前最快的计算tick timeout的算法。
- 15、内核状态机的转换机制非常健全。
- 16、同等优先级调度,支持时间片轮。
- 17、极其丰富的的API功能,内核支持配置各种功能,最小内核2K。
- 18、系统最大关中断时间很小。
- 19、支持8位,16位,32位的cpu以及dsp。
- 最高256个优先级。
- 最高256个。
- 需要先静态配置。
- 需要先静态配置。
- 不支持queue 发送msg 的时候队列满的时候睡眠。
- 需要先静态配置。
- 需要先静态配置。
- 不支持分配不到内存的时候睡眠等待。
- 不支持此功能。
- 多了256个字节的位图。调度速度相近。
- 不支持此功能。
- 不支持此功能。
- 只支持传统的PRIO方式。
- 速度慢。
- 内核状态机制健全。
- 不支持此功能。
- 最小6K(来自官方数据),API功能不全。
- 很小。
- 支持8位,16位,32位的cpu以及dsp。
简单介绍完了RAWOS。现在来讲讲RAWOS版块最近会开展的活动:针对大伙不太了解RAWOS操作系统,我们到时会出一些相关的专门针对讲解RAWOS的学习视频(学习视频还在酝酿中,可能还需要一段时间)。视频内容主要是讲解RAWOS各个功能和在带RAWOS的STM32的驱动编写。如果大伙学的比较顺利的话,到时看下是否可以找一家MCU芯片公司,用那款芯片DIY一些项目。到时我会发个DIY项目活动贴,到时大伙可以把自己要做的项目详细写下来,如果可行的话,我们会选择一个项目DIY,对于表现好的还可以免费得到DIY板子。
|