采用了目前业界最先进的hybrid(混合中断架构)不仅实现了最大关中断时间为0us,cpu利用率更是远超越ucos 3等实时系统。 内核最大关中断时间无限接近0us(整个内核最大关中断时间只有20句汇编), s3c2440系统最大关中断时间实测0.8us。 支持idle任务级别的事件驱动(协程),基于状态机机制(fsm+hsm),所有idle 级别的事件任务共享一个栈! 支持MPU内存保护模块 支持task 0以及workqueue的中断下半部机制,轻松降低系统最大关中断时间到最低,以及大大提高了系统的实时性。 支持task 256个优先级
支持task无限多个
支持semaphore无限多个
支持task级别的私有semaphore,即一个任务有一个私有信号量。
支持task级别的私有queue,即一个任务有一个私有queue。
支持mutex无限多个,同时支持优先级继承算法和优先级置顶算法,当优先级反转发生的的时候。
支持mutex在优先级反转过程中的任务优先级逐步还原策略,以及解决了改变任务优先级等mutex带来的副作用。
支持4种队列模块(queue, queue_size, queue_buffer,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。
|