RT-Thread实时操作系统核心RT-Thread实时操作系统核心是一个高效的硬实时核心,它具备非常优异的实时性、稳定性、可剪裁性。最小可以到3kROM占用、1kRAM占用。内核对象系统实时线程操作系统内部采用面向对象的方式设计,内建内核对象管理系统,能够访问/管理所有内核对象。内核对象包含了内核中绝大部分设施,而这些内核对象可以是静态分配的静态对象,也可以是从系统内存堆中分配的动态对象。通过内核对象系统,RT-Thread可以做到不依赖于具体的内存分配方式,伸缩性得到极大的加强。任务/线程调度支持以线程为基本调度单位的多任务系统。调度算法是基于优先级的全抢占式线程调度,支持256个线程优先级(亦可配置成32个线程优先级),0优先级代表最高优先级,255优先级留给空闲线程使用;相同优先级上支持多个线程,这些相同优先级的线程采用可设置时间片长度的时间片轮转调度;调度器寻找下一个最高优先级就绪线程的时间是恒定的(O(1))。系统不限制线程数量的多少,只与物理平台的具体内存相关。同步机制系统支持semaphore,mutex等线程间同步机制。mutex采用优先级继存方式以防止优先级翻转。semaphore释放动作可安全用于中断服务例程中。同步机制支持线程按优先级等待或按先进先出方式获取信号量或互斥锁。通信机制系统支持event,mailbox,messagequeue通信机制等。event支持多事件或触发及与触发,适合于线程等待多个事件情况。mailbox中一个mail的长度固定为4字节,效率较messagequeu高。通信设施中的发送动作可安全用于中断服务例程中。通信机制支持线程按优先级等待或按先进先出方式获取。时钟,定时器系统默认使用时钟节拍来完成同优先级任务的时间片轮转调度;线程对内核对象的时间敏感性是通过系统定时器来实现的;定时器又分成了硬定时器和软定时器,一次定时及周期性定时。内存管理系统支持静态内存池管理及动态内存堆管理。从静态内存池中获取/释放内存块时间恒定,而当内存池空时,可根据申请线程请求把申请线程挂起、立刻返回、或等待一段时间仍未获得返回。当其他线程释内存块到内存池时,将把挂起的线程唤醒。对于系统内存紧张的系统,RT-Thread也提供了小型的伙伴内存管理算法。而对于拥有大一些内存的嵌入式系统,RT-Thread提供了性能非常高效的SLAB内存管理系统。诊断通过系统提供的FinSHshell系统,能够查看到线程,信号量,互斥锁,事件,邮箱,消息队列的运行情况,以及各个线程的栈使用情况。技术指标基本内核配置资源占用情况:13344字节ROM,1800字节RAM简化版资源占用情况:2.5KROM,1KRAM线程上下文切换时间(在72MHz的STM32上采用逻辑分析仪测得的结果):挂起操作引起线程上下文切换:4.25μs信号量引起线程上下文切换:7.25μs邮箱引起线程上下文切换:8.63μsRT-ThreadRTOS是一款来自中国的开源实时操作系统,由国内一些专业开发人员开发、维护。它不仅仅是一款高效、稳定的实时操作系统内核,也是一套面向嵌入式系统的软件平台,覆盖了:全抢占的实时操作系统内核小巧而与底层具体实现无关的文件系统轻型的TCP/IP协议栈命令即C语言的shell命令行轻型的多窗口多线程图形用户界面。目前RT-ThreadRTOS在国内已经有十多家企业在使用,从数据采集、数据监控到机械控制,从ARM7芯片到STM32、LM3S等的Cortex-M3芯片,从实时内核、文件系统、shell命令行到轻型TCP/IP网络协议栈,RT-ThreadRTOS被证明是一款可用于产品并稳定运行的嵌入式实时操作系统。