操作系统的分类方式可以由任务调度器的工作方式决定,比如有的操作系统给每个任务分配同样的运行时间,时间到了就切换到下一个任务,Unix操作系统就是这样的。RTOS的任务调度器被设计为可预测的,而这正是嵌入式实时操作系统所需要的。在实时环境中,要求操作系统必须实时地对某一个事件做出响应,因此任务调度器的行为必须是可预测的。像µC/OS-III这种传统的RTOS类操作系统是由用户给每个任务分配一个任务优先级,任务调度器就可以根据此优先级来决定下一刻应该运行哪个任务。
µC/OS-III是一个可裁剪、可固化到ROM的抢占式实时内核,并且可管理任务的数量不受限制。µC/OS-III是第三代的µC/OS内核,具有以下几个重要的特性:
抢占式多任务管理:µC/OS-III是一个支持多任务抢占的内核,因此总是优先执行任务优先级高的任务。
时间片调度:µC/OS-III允许系统中有多个相同任务优先级的任务,如果系统中处于就绪状态的任务中,优先级最高的任务有多个,那么µC/OS-III将以时间片的方式调度任务,即根据用户指定的时间(时间片)轮流调度这些任务。
极短的中断禁用时间:µC/OS-III通过锁定任务调度器代替禁用中断来保护一些关键区域(临界区),这确保了 µC/OS-III 能够快速地响应中断。
任务数量不限:µC/OS-III理论上支持不受限制的任务数量,但实际上,系统中任务的最大
数量受处理器内存空间的限制。
任务优先级数量不限:µC/OS-III支持的任务优先级数量不受限制,但对于大多数应用场景而言,使用 32~256 个任务优先级就绰绰有余了。
内核对象数量不限:µC/OS-III提供了多种内核对象,如任务、信号量、事件标