嵌入式学习小组
直播中

贾玲

7年用户 184经验值
私信 关注

请问raw os究竟可以多小?可以多快?

由于raw os 针对市场是目前中低端的cpu,所谓的中低端cpu 一般以ARM 9 划分,arm9 级别的或者类似速度的cpu 为中端cpu, 以上的比如arm 11为高端cpu, 以下的为低端cpu,比如cortex-m0,cortex-m3,cortex-m4等等。


rawos的市场既然已经决定在中低端cpu, raw os 力争做到世界上所有实时操作系统之中的体积最小以及速度最快者。基于此理论,整个raw os 的模块是可以高度可配置的,甚至每一个api 也可以单独使能配置,具体的参看raw_config.h。


实战证明raw os整个内核高度配置后,在cortex-m3上的只读代码体积在2K左右,ram只有几百个字节。rawos整个内核在cortex-m0 上的只读代码体积在1.5K左右,ram只有几百个字节。Micro raw os 的体积更小只读代码只需要1K, 而ram只需要几个字节。


天下武功唯快不破,操作系统原则上运行速度越快越好,raw os 正是基于此理论而精益求精,不断优化加速,达到极限。当然实时操作系统的实时性永远是最重要的,有的时候宁愿算法效率低一点也要保证实时性这个原则的贯彻。


rawos 的各个模块都是经过算法极限处理过的,保证在同类产品中,速度无论是在调度方面还是时钟处理方面都是保持领先的。举其中一个例子,比如bit_search_first_one这个函数是一个找到最高优先级的函数,此函数在32位cpu 和8位cpu 是不同的版本,用来加速不同类型的cpu。具体的可以通过RAW_CPU_WIDTH_32使能或者关闭。


如果单独使用基于raw os的事件触发系统,ram只占有几个字节,也省去了任务栈空间。在实时性上也不比实时操作系统差,具体的章节请参阅基于空闲任务的事件触发机制。


综上所述,raw os 在中低端cpu 上速度和体积都是精心优化过的,特别是在cortex-m 系列的cpu 上具有很大的优势。
摘自txj老师的《高效实时操作系统原理以及实践》,下载地址:http://www.raw-os.org/Download/%E9%AB%98%E6%95%88%E5%AE%9E%E6%97%B6%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%8E%9F%E7%90%86%E4%BB%A5%E5%8F%8A%E5%AE%9E%E8%B7%B5-2013-11-5.rar

回帖(6)

李子胡

2019-1-9 11:01:59
顶起。
举报

刘勇

2019-1-9 11:07:45
哈哈,多谢!
举报

单其莹

2019-1-9 11:18:55
帮顶
举报

李雪

2019-1-9 11:28:08
楼主,有代码能在原子哥的MINI板上,和战舰板上跑起来的代码吗?? 可以图文并茂,这样才够吸引力啊!!
举报

王娜

2019-1-9 11:41:04
举报

更多回帖

发帖
×
20
完善资料,
赚取积分