The priority of tasks in UC/OS represents the identification of tasks.
In eCos, sleep_reason is used to indicate the cause of sleep, and there is no waiting timeout delay, while in UC/OS, it is represented by the structure of event event_flags.
ECos uses wake_reason to indicate the cause of wake-up, and there is no exit interrupt timeout after the destruction, but there is no corresponding variable in UC/OS.
ECos supports MLQ (multi-level queue) scheduler, bitmap scheduler based on priority preemptive scheduling and Lottery scheduler, but it is different in the definition of Cyg_Scheduler_Implementation class. Bitmap sets a unique priority for each thread and supports up to 32 priorities, which is the same as UC/OS. Run_queue is a bitmap, similar to RdyTbl in UC/OS, and thread_table is an array of thread pointers, similar to PrioTbl in UC/OS. In MLQ, queue stands for bitmap, run_queue stands for bidirectional linked list of threads with the same priority, and timeslice_count stands for time slice variable. In the lottery, run_queue represents the thread queue, rand_seed represents the random number seed, total_tickets represents the total number of signatures, and timeslice_count represents the time slice.
UC/OS only supports preemptive bitmap scheduler based on priority.