最近,看看了uCOS_II这个操作系统,首先说明一下裸机跑和嵌入系统的区别吧,嵌入系统会更有安全性,可靠性,对多任务操作更具有实用性。举个简单的例子, RTOS(Real Time Operating System )实时操作系统,就是要有及时性。在初学单片机时,大家都在用delay();让cpu大部分时间都在delay(),无法进行实时处理。之后,学了状态机的思想处理,而ucos-II是这样处理的:系统自己搞个时钟,程序需要延时的时候调用专门的延时函数,而cpu就不管这个任务了而执行别的任务,所以有更重要的任务来的话就马上处理了,这只是一个方面。
有点跑偏,说uCOS_II的任务管理,任务包含系统任务和用户任务,对于任务的管理,每个任务都有自己的内存空间,在初始化时,设置OS_LOWEST_PRIO来设定任务个数,来开辟任务内存空间。最多64个任务,这样设置可以减少内存。一个任务包含任务控制块,任务代码,任务堆栈。
任务调度是通过任务就绪表查找最高级的就绪任务的: