Here is the list of best and top 22 IoT Operating Systems.
What is an IoT Operating System?
An IoT OS is an operating system that is designed to perform within the constraints that are particular to IoT devices, including restrictions on memory, size, power and processing capacity. Internet of Things OSes are a type of embedded OS but by definition are designed to enable data transfer over the internet.
The essence of the Internet of Things is the ability of embedded systems all around us to connect and communicate over a network. IoT OSes control systems in cars, traffic lights, digital televisions, ATMs, airplane controls, manufacturing machines, point of sale (POS) terminals, digital cameras, GPS navigation systems, elevators, digital media receivers and smart meters.
List of best and top 22 IoT Operating Systems:
1. Raspbian OS:
Raspbian is a Debian-based operating system for Raspberry Pi. There are several versions of Raspbian including Raspbian Stretch and Raspbian Jessie.
Raspbian is a free OS based on Debian optimized for the Raspberry Pi hardware. An operating system is the set of basic programs and utilities that make your Raspberry Pi run.
2. Windows 10 For IoT:
Microsoft’s latest embedded OS is known as Windows 10 for IoT. Under this umbrella, there are three subset operating systems available, depending on your needs. First is Windows 10 for IoT Mobile, which supports the ARM architecture. Next is Windows 10 for IoT Core, which supports Raspberry Pi and Intel Atom. Last, you have Windows 10 for IoT Enterprise – more or less full-blown Windows 10 Enterprise, but restricted to running a single application.
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.
4. RIOT OS:
RIOT OS is an open source community project that has been ongoing since 2008. RIOT is capable of running on a variety of platforms including embedded devices and PCs (and a large number of the most popular sensor/actuator boards), and has an easy-to-use API. The OS is well known for its ability to be efficient in terms of power usage and resource requirements.
5. Embedded Configurable Operating System (eCos):
The Embedded Configurable Operating System (eCos) is a free and open source real-time operating system intended for embedded systems and applications which need only one process with multiple threads. It is designed to be customizable to precise application requirements of run-time performance and hardware needs. It is implemented in C/C++ and has compatibility layers and application programming interfaces for POSIX and µITRON.
6. WindRiver VxWorks:
Probably the most popular commercial RTOS used today is WindRiver’s VxWorks. It provides a robust OS that’s highly scalable. VxWorks also provides a great number of security features that are critical for IoT projects that demand them. VxWorks is very well-known in the industrial, medical, and aerospace fields because it is one of the few RTOS vendors that have met the necessary certification requirements to be used in those industries.
7. Android Things (Google Brillo):
Android Things (codenamed Brillo) is an Android based embedded operating system platform by Google, announced at Google I/O 2015. It is aimed to be used with low-power and memory constrained IoT devices, which are usually built from different MCU platforms. As an Internet of Things OS it is designed to work as low as 32–64 MB of RAM. It will support Bluetooth Low Energy and Wi-Fi. Along with Brillo, Google also introduced the Weave protocol, which these devices will use to communicate with other devices and which it hopes will be adopted by other IoT operating systems. Every Android device can automatically recognize any Brillo OS or Weave API based device. Users can choose a device, set it up and use it immediately. Android Things also powers Google Assistant smart displays.
8. ARM Mbed OS:
ARM is developing its own open source embedded OS called mbed OS. Since it’s being developed by ARM, that’s the only architecture supported. That said, the OS is expected to make a splash in the smart-home and wearable-device IoT segments. The OS differs from many other embedded operating systems because it’s single-threaded — as opposed to multi-threaded.
TinyOS is an embedded, component-based operating system and platform for low-power wireless devices, such as those used in wireless sensor networks, smartdust, ubiquitous computing, personal area networks, building automation, and smart meters.
10. Apache Mynewt:
Similar to RIOT and LiteOS, Apache Mynewt is also a real-time operating system for IoT devices.
The source code of Mynewt is distributed under Apache License 2.0. The OS is capable of running on constrained devices with a minimum of 8KB of RAM and 64 KB of ROM. The Kernel of the OS is just 6KB but supports the following:
• Preemptive multithreading
• Priority-based scheduling
• Memory heap and memory pool allocation
• Multi-stage software watchdog
11. Embedded Apple iOS And OS X:
While Apple has yet to play a significant role in today’s IoT market, it certainly is expected to do so very soon. Up to this point, Apple has adopted variants of its iOS platform and created IoT devices such as Apple TV, CarPlay (with the help of BlackBerry QNX), and the Apple Watch.
It was created in 2002 by Adam Dunkels and, currently, has developers all over the world. This open source software is released under a BSD license. Contiki has a built-in Internet Protocol suite (TCP/IP stack) and provides multitasking. It can comfortably work on constrained devices with 30KB of RAM and 30KB of ROM.
13. Nucleus RTOS:
Nucleus RTOS is an embedded OS developed by Mentor Graphics. The company claims the software is currently running on more than 3 billion devices — which is an impressive install base. The OS has robust support for various embedded architectures and is popular in industry verticals such as automotive, healthcare, utilities, industrial, and consumer electronics.
14. Huawei LiteOS:
It is developed by Chinese telecom giant Huawei. It was released in 2015 under ISC license. LiteOS is a real-time operating system of just 10KB in size and it supports advanced features such as
• Auto discovery
• Zero configuration
• Auto networking
It supports interconnection technologies such as
15. Ubuntu Core (Snappy) OS:
Canonical, the company behind Ubuntu, recently released Ubuntu Core 16, which is also known as Snappy. It is called Snappy because the operating system (including Kernel, libraries and major applications) is delivered as a Linux application package known as snaps. The base file of Ubuntu core 16 is 350MB and all the files after installation are stored as images.
The Ubuntu Core 16 is compatible with the following boards:
• Qualcomm Dragonboard
• Samsung Artik
• Intel Joule
• Raspberry Pi2 and Pi3
16. Green Hills Integrity OS:
Yet another longstanding commercial RTOS solution is Green Hills’ Integrity. It fiercely competes in the aerospace/defense, automotive, industrial, and medical verticals. The company is also continuing to be popular in the consumer-focused IoT market
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
18. Zephyr OS:
This is a collaborative project under Linux Foundation and is available through the Apache 2.0 license. It was launched in February 2016.
In Zephyr OS, there are no loadable kernel modules because the kernel is statically compiled into a single binary executable file. This makes Zephyr safe from compile time attacks.
Zephyr is a real-time operating system which can run on a device with memory as small as 8KB. The biggest strength of Zephyr is its interconnectivity technology, which includes:
• Bluetooth LE
Zephyr supports the following architectures:
19. Fuchsia OS:
Fuchsia OS is a cross-device, open source operating system from Google based on the Zircon kernel, unlike Chrome and Android, which are Linux-based.
20. MANTIS Operating System (MOS):
MOS, the MANTIS Operating System, is a multi-threaded OS designed for resource-constrained sensor platforms. A simple C API enables MOS to provide simplified programming of wireless sensor nodes. MOS Supports TelosB, Mica2/Dot, and MicaZ motes.
21. Nano-RK IoT OS:
A Wireless Sensor Networking Real-Time Operating System (RTOS) is a real-time operating system (RTOS) from Carnegie Mellon University designed to run on micro-controllers for use in sensor networks. Nano-RK supports a fixed-priority fully preemptive scheduler with fine-grained timing primitives to support real-time task sets. “Nano” implies that the RTOS is small, consuming 2 KB of RAM and using 18 KB of flash, while “RK” is short for resource kernel. A resource kernel provides reservations on how often system resources can be consumed.
22. SAFERTOS OS:
SAFERTOS is a functional safety, pre-certified, Real Time Operating System (RTOS) for embedded processors. It delivers top performance and pre-certified dependability, whilst utilising minimal resources:
- Developed by WITTENSTEIN high integrity systems (WHIS), a FreeRTOS partner that specialises in safety
- Available pre-certified to IEC 61508 SIL 3 and ISO 26262 ASILD by TÜV SÜD
- Supports a wide range of international development standards
- Based on the FreeRTOS functional model and therefore easy to migrate
What are the parameters for selecting a suitable OS for IoT Devices?
The following parameters may be considered for selecting an OS for IoT devices:
Footprint: Since devices are constraint, we expect OS to have low memory, power and processing requirements. The overhead due to the OS should be minimal.
- Scalability: OS must be scalable for any type of device. This means developers and integrators need to be familiar with only one OS for both nodes and gateways.
- Portability: OS isolates applications from the specifics of the hardware. Usually, OS is ported to different hardware platforms and interfaces to the board support package (BSP) in a standard way, such as using POSIX calls.
- Modularity: OS has a kernel core that’s mandatory. All other functionality can be included as add-ons if so required by the application.
- Connectivity: OS supports different connectivity protocols, such as Ethernet, Wi-Fi, BLE, IEEE 802.15.4, and more.
- Security: OS has add-ons that bring security to the device by way of secure boot, SSL support, components and drivers for encryption.
- Reliability: This is essential for mission-critical systems. Often devices are at remote locations and have to work for years without failure. Reliability also implies OS should fulfil certifications for certain applications.
What are the popular IoT OS out there in market?
From the IoT Developer Survey 2018 conducted by Eclipse Foundation, it was found that 71.8% of the respondents like or use Linux-based OS. Within Linux, Raspbian takes the lead. Windows and FreeRTOS follow at 22.9% and 20.4%.
What are typical memory requirements for IoT OS?
Sensor nodes will have less than 50KB of RAM and less than 250KB of ROM. Contiki requires only 2KB of RAM and 40KB of ROM. Similar numbers are quoted for Mantis and Nano RK. Zephyr requires only 8KB of memory. Apache Mynewt requires 8KB of RAM and 64 KB of ROM. It’s kernel takes up only 6KB. Communication protocols typically take up 50-100KB of ROM.
Unlike with PCs, tablets, and smartphones, there likely won’t be a short list of operating systems that dominate the entire IoT market. Instead, we’re going to have to deal with dozens of popular choices that have specific pros and cons. This list of twenty two operating systems shows the wide variety of choices and where they are likely to be used.
Post Image Credit