Top IoT Operating Systems and Microsoft
Top IoT Operating Systems and Microsoft
Microsoft has announced a new operating system, Azure Sphere OS, designed for IoT devices. Check it out as well as the state of the IoT OS ecosystem.
Join the DZone community and get the full member experience.Join For Free
Last week, Microsoft announced a new IoT operating system, called Azure Sphere OS, that targets very small constrained devices. It is part of the new Azure Sphere offering that targets a complete solution for IoT security.
Microsoft now enters a crowded market of open source RTOSs that target constrained devices, including FreeRTOS, Contiki, RIOT-OS, Zephyr, Mbed, plus others. It will be interesting to see how Microsoft's RTOS will compare to the existing RTOSs and how well they build an open community. It doesn't appear Microsoft has made Sphere OS available, but here are how the others are doing.
Synopsis of Each RTOS
- FreeRTOS has been around for over 14 years and ported to 30+ MCU platforms. Last year, Amazon took over the stewardship of the project and created the Amazon FreeRTOS offering. The Amazon version of FreeRTOS is available under the MIT license.
- Contiki was originally created by a company called Thingsquare. It seems like there is a fork of Contiki, called Contiki-NG. Development on the main Contiki GitHub repo appears to have stopped mid last year. Contiki is available under a BSD license.
- RIOT-OS is supported by Freie Universität Berlin, by INRIA, and by Hamburg University of Applied Sciences. RIOT started in 2013 and is available under GPL v2.
- Zephyr is based on the Wind River VxWorks kernel. It is a Linux Foundation project that includes members from Intel, Linaro, NXP, and others. Zephyr is available under the Apache 2.0 license. [UPDATE: An astute reader pointed out that Zephyr is not based on the commercial VxWorks OS but another code base that is referred to as VxWorks Microkernel Profile for VxWorks on the Zephyr website. Wikipedia confirm this too.]
- Mbed was started and is still controlled by ARM. Mbed is available under the Apache 2.0 license.
- TinyOS is a project started in UC Berkley. Their website was down, but it does look like there is active development in the GitHub repo. TinyOS is licensed under a BSD license.
- MyNewt is an Apache project started in 2015. It was started and maintained by a startup called runtime.io. MyNewt is licensed under Apache 2.0
- LiteOS was started and is still maintained by Huawei. LiteOS is licensed under a BSD license.
It is always difficult to determine the popularity of open source software. I always tend to recommend to look for a variety of data points to discover industry trends.
The first data point is the Eclipse IoT Developer Survey, which just announced the 2018 results. One of the questions in the survey is about what operating system was being used for constrained devices. Linux is clearly the preferred choice. I imagine people are creating their own distros for a specific device. Then, no RTOS and FreeRTOS are the clear second choices. It was also interesting to see Windows on this list. The other RTOS are distant choices.
The second data point is to look at the communities that have developed around some of these RTOS. First, let's look at the popularity of these open source projects on GitHub. Contiki definitely seems to be the most popular RTOS when looking at Watch, Stars, and Forks. However, mbed and Zephyr seem to be receiving contributions from a wider community. NOTE: FreeRTOS has just been moved from SourceForge to GitHub when Amazon took it over.
Microsoft and AWS are clear competitors in the IoT space. MS announcing an RTOS could be viewed as a competitive response to AWS' takeover of FreeRTOS.
FreeRTOS would appear to be the most popular and, I presume, the most widely used choice. However, since Amazon took over the project, it seems the development work is no longer in the open: 7 commits since last November, 2 people contributing code; 5 PRs opened. There is still FreeRTOS on SourceForge, but that doesn't look very active either. How Amazon continues the development of FreeRTOS is something to watch.
In the past number of years, Microsoft has definitely demonstrated they understand and value open source communities. Microsoft creating an open community for Azure OS might be a competitive strength when compared to AWS.
ARM mbed and Zephyr appear to be creating successful open source communities. It is impressive to see the number of contributors to the project. Over the next couple of years, I would expect to see adoption increase for both these RTOS. Microsoft will target ARM-based chipsets so they might see competition with mbed and Zephyr.
Overall, Microsoft's entry into the RTOS space is more about providing a security solution for their IoT customers. It is interesting that they decided to build their own RTOS, instead of partnering or collaborating with the mbed or Zephyr projects. Microsoft and AWS seem to be taking an approach to providing one end-to-end integrated IoT stack. This might provide customers with an integrated solution, but in the long-term, it is a step towards vendor lock-in.
Published at DZone with permission of Ian Skerrett , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.