UC/OS-II: Preemptive kernel, supports only the bitmap scheduling algorithm, supports up to 65 task threads, and provides a more complete thread synchronization service.
Open source but not free, users who need to develop commercial products need to buy license.
The development environment, without limitations, is only equivalent to a library of functions for software development.
Ecos: Preemptive kernel, support the bitmap scheduling algorithm and the same priority time-sharing scheduling algorithm, support POSIX standard interface, more perfect thread synchronization service. Has its own powerful bootloader (redboot: Support Online debugging program, update program and kernel, etc.), provide many vendors out of the BSP. Network, file system and other modules complete.
Development environment for Linux or Cygwin.
Key Features: Completely free, without worrying about license issues. Configuration of each module: compile-time configuration, static link.
The linux:2.4 kernel previously only supported time-sharing scheduling, the realtime and the above two is not comparable (scheduling algorithm is different), 2.6 kernel added real-time scheduling. Provide perfect process communication, thread synchronization and other services, network function super powerful, support dynamic link, file system perfect, have uboot,vivi and so on bootloader support.
Development environment for Linux or Cygwin
The above three uc/os-ii is the simplest, basically in all hardware platform can be used, ecos mainly in 16bit, 32-bit platform use, Linux mainly in the 32-bit platform with MMU (without MMU open with uclinux).
Make an inappropriate analogy: Uc/os-ii is Sparrow, Ecos is chicken, Linux is ostrich.
A brief comparison of Uc/os-ii, ECos and Linux