raw os 提供了标准C代码。内核源码的发布是一个干净的版本,不带任何移植。通过此书,用户将学到实时操作原理以及如何有效的使用好raw os.
raw os的api函数具有高度的直观性。用户基本看到api的名字,以及参数基本就知道该怎么使用了。
raw os是基于多任务的抢占的。raw os是基于多任务的抢占的内核,系统中永远运行的是最高优先级的任务。
raw os的调度策略是基于RMS理论,即基于任务优先级的。任务的优先级数值越小,表明优先级越高,rms 调度策略在无穷任务情况下能保证至少70%的任务是可以完全实时的,即70%的任务都能在最后的期限完成工作。目前的商业用的实时系统一般都是基于rms理论的。
raw os支持同等优先级任务,主要基于时间片轮调度。raw os允许多个任务跑在同等优先级,当多个同等优先级的任务处于就绪队列中时,raw os会基于时间片调度任务,也就是说每个任务都有一个时间片,时间片消耗完了就插入到就绪队列后面去,轮到下一个任务跑。这个时间片是任务创建的时候由用户来指定,也可以有用户动态去改变。处于运行中的任务也可以放弃自己的时间片,排队到就绪队列的最后去。
超低的系统最大关中断时间。raw os通过把临界区关抢占,而不是关中断的实现方式,并结合一些特殊的技术,成功的把raw os整个系统的最大关中断时间降低到0us.此技术可以保证响应一些非常快速的中断源。
raw os的所有api在时间上都是可确定性的。时间的可确定性的意思是说,时间是恒定的,实时操作系统不在于快,而在于时间的恒定,稳定性,不会有时间不恒定性的api存在。
raw os的高度可配置性。raw os的所有模块都是可配置性的,这样在资源上可以多可以少,可以适应多种项目的应用需求。
raw os的高度可移植性。raw os已经在很多的cpu平台上移植,比如arm 7, arm 9,cortex-m3,cortex-m4,mips32,等等cpu上。未来会有更多的cpu平台支持。
|