本帖最后由 jorya_txj_raw 于 2013-10-9 15:15 编辑
Raw-OS 操作系统特性采用了目前业界最先进的hybrid(混合中断架构)不仅实现了最大关中断时间为0us,cpu利用率更是远超越ucos 3等实时系统。 内核最大关中断时间无限接近0us(整个内核最大关中断时间只有20句汇编), s3c2440系统最大关中断时间实测0.8us。 支持trace跟踪。系统内部支持50多个trace跟踪函数,用于跟踪系统的行为以及debug。采用trace后,系统的debug能力大大增强。 支持idle任务级别的事件驱动(协程),基于状态机机制(fsm+hsm),所有idle 级别的事件任务共享一个栈! 支持task 0以及workqueue的中断下半部机制,轻松降低系统最大关中断时间到最低,以及大大提高了系统的实时性。 支持task 256个优先级 支持task无限多个 支持semaphore无限多个 支持task级别的私有semaphore,即一个任务有一个私有信号量。 支持task级别的私有queue,即一个任务有一个私有queue。 支持mutex无限多个,同时支持优先级继承算法和优先级置顶算法,当优先级反转发生的的时候。 支持mutex在优先级反转过程中的任务优先级逐步还原策略,以及解决了改变任务优先级等mutex带来的副作用。 支持3种queue模块(queue, queue_size, mqueue)无限多个, 支持queue的一对多群发,包含了mail box 的功能。 支持软件timer无限多个。 支持event无限多个。 支持task block 在任意queue 和semphore 上,同时支持and 和or 的处理。 调度算法采用双向链表就绪队列,省去位图,采用目前最快的bits搜索算法。 支持动态监测所有任务栈空间大小,栈空间小于整体的12%,系统会马上报错。 任务能以FIFO和PRIO 两种方式block 在semphore, mutex, queue, 等等对象上。 采用目前最快的计算tick timeout的算法。 内核状态机的转换机制非常健全。 同等优先级调度,支持时间片轮。 支持满足posix的标准调度SCHED_RR和SCHED_FIFO 支持posix的pthread封装 支持整个内核配置成非抢占内核。 支持内核配置成非抢占内核, 追求最大的数据吞吐量。 支持block内存分配机制,适用于整块的内存分配,没有内存碎片. 支持byte内存分配机制,适用于任何体积大小的分配,有内存碎片,采用first fit 算法,支持临接空闲块的合并。 支持slab算法基于buddy。 支持基于大内存的分配page算法。 支持c库标准的malloc, calloc, recalloc,free. 支持发送消息的同时也发送消息长度(raw_queue_size) 支持满足posix标准的大级别消息算法mqueue(raw_mqueue),即每一个消息都按照优先级去排序,增加了灵活性。 极其丰富的的API功能,内核支持配置各种功能,最小内核rom 2K, ram 几百个字节。 支持8位,16位,32位的各种cpu以及dsp。
官网地址: 3w.raw-os.org |