本人沒接觸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一起共用執行時間。 |