VC/OS 和 是专门为计算机的嵌入式应用设计的, 绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU 上。工作原理uC/OS-II是一种基于优先级的可抢先的硬实时内核。要实现多任务机制,那么目标CPU必须具备一种在运行期更改PC的途径,否则无法做到切换。不幸的是,直接设置PC指针,还没有哪个CPU支持这样的指令。但是一般CPU都允许通过类似JMP,CALL这样的指令来间接的修改PC。我们的多任务机制的实现也正是基于这个出发点。事实上,我们使用CALL指令或者指令来修改PC,主要是软中断。但在一些CPU上,并不存在这样的概念,所以,我们在那些CPU上,使用几条加上一条CALL指令来模拟一次软中断的发生。在uC/OS-II里,每个任务都有一个任务控制块(Task Control Block),这是一个比较复杂的。在任务控制块的偏移为0的地方,存储着一个,它记录了所属任务的专用堆栈地址。事实上,在uC/OS-II内,每个任务都有自己的专用堆栈,彼此之间不能侵犯。这点要求程