本人没接触ucos,但接触过ftreeRTOS,POSIX。
所谓的RTOS,万变不离其中,要实现都是任务调度。
确保重要任务得到第一时间的处理。
一有多任务的时候,就一定需要任务彼此间的同步,沟通,所以要有相关函数去处理,如message queue,semaphore,mutex等等。
有一个概念你需要重新理解。
所谓的并行处理,是说同一时间,同时执行。
按照这个定义,现在的mcu,严格来说都不能做到并行处理的。
而所有的rtos做的是都是用时间片轮转的方法,去模拟多任务并行处理
所以ucos-2都可以实现多任务调度,只不过是不能在同一优先级执行多个任务,而ucos-3是可以的
例如,在某一段时间,一个优先级为1的A任务在执行中,此时优先级为1的B任务想要执行
ucos-2就会说:B任务,你不能执行,你要先等A完成。
ucos-3就会说:OK,B任务你来吧,跟A一起共用执行时间。 |