A real-time operating system (RTOS) has been the backbone for many an embedded project and was often considered in isolation before the internet. That’s still the case these days for many projects. However, as Internet of Things (IoT) devices have become the norm, the RTOS or embedded operating system is increasingly associated with the major cloud providers. Though these providers will often work with any operating system, more often than not, they have acquired solutions to be the basis for their IoT stack. Chips vendors have also been picking up their own operating systems:
- Microsoft’s Azure division acquired Express Logic for its ThreadX RTOS
- Arm developed its Mbed OS for IoT applications
- Amazon Web Services (AWS) now supports FreeRTOS
- Silicon Labs now owns Micrium’s MicroC/OS
- Texas Instruments has its own TI RTOS
- Renesas has its own HW-RTOS
- NXP supports MQX RTOS
Providing an RTOS to customers has the advantage of delivering a base of integrated of services from device drivers to IoT stacks. Often the RTOS is available independent of hardware, and sometimes it’s provided free for some platforms. Certain solutions are open source.
This does make things simpler for developers, but it can limit the options available for utilizing IoT stacks. It tends to be easier to use and support an RTOS that’s vendor-supported rather than delivering such support in addition to building and fostering applications.
The challenge for vendors with an RTOS is how and what to get behind. Many have acquired an RTOS vendor that already supports a range of hardware platforms. Many that were developed in-house support only the vendor’s hardware. Keeping the RTOS independent of a matching IoT stack is straightforward, but where does the boundary lie when new features are added that might be IoT-centric.
Developers face a similar challenge when selecting an RTOS. For example, will an RTOS lock them into a particular collection of hardware or a particular cloud service? Though that lock may not be strict, if they’re offered an integrated solution that’s supported by the vendor, then this inducement can deter migration or cross-platform support.
Some IoT-related operating systems are even locked to particular hardware components. For example, Microsoft’s Azure Sphere OS is designed to work with platforms like MediaTek’s MT3620 SoC, which incorporates Microsoft’s Pluton security subsystem on the chip. Support for security hardware via an RTOS is still a relatively new concept for most developers even though the hardware has been available for years.
Choosing an RTOS has never been an easy task, especially when one needs to consider long-term support, security, addressing bugs, and dealing with details like certification. The allure of having an RTOS already associated with the desired hardware or cloud services is high. However, keep in mind the disadvantages and limitations in addition to those advantages.