uC/OS II是一个基于优先级调度可剥夺的操作系统内核。其大部分代码都是用C语言完成的,很少一部分使用汇编完成,不到200行。uC/OS II只是一个操作系统内核,它只完成了OS的必要功能,如任务管理、内存管理、任务间通信、互斥和同步等功能。uC/OS II共有64个任务,其中优先级63和62已经被空闲任务和CPU使用率统计任务占据,OS建议保留优先级为0~3和60~63八个任务,因而真正可用的优先级有56个。
uC/OS的任务调度是基于优先级的,并且可剥夺。也就是说任何时刻运行的程序都是优先级最高的就绪任务。CPU切换有任务级切换和中断级切换两种,任务级切换采用的是软中断,中断级切换唯一的区别就是CPU现场已经被硬件保存到堆栈中了,因而这里不用再进行现场保护。uC/OS的内存管理采用伙伴算法,使用一个个相同大小块组成的分区组成,每个分区中的块大小不同。uC/OS提供了优秀的任务同步和互斥功能。对I/O的扩展没有涉及太多。
uC/OS的移植主要集中在OS_CPU.h、OS_CPU_A.asm和OS_CPU_C.c三个文件。由于uC/OS仅完成了操作系统的内核功能,精简实用,因而移植性很高。但是uC/OS没有提供I/O管理框架和GUI,因而使用它用户需要自己实现这两个繁杂的功能。