Microsoft’s collection of operating systems continues to grow. We’re all aware of Windows and its moves into Linux with WSL (Windows Subsystem for Linux) and in Azure through the SONiC (Software for Open Networking in the Cloud) networking platform. The secure IoT Azure Sphere is also increasingly familiar. Now there’s another Microsoft OS out there, one that’s a lot more specialized but starting to get more attention from silicon vendors.
Microsoft’s 2019 acquisition of Express Logic brought its ThreadX real-time operating system into the Azure fold. Now branded as Azure RTOS, it’s an industrial-grade, real-time operating system for devices that fit somewhere between Arduino and Raspberry Pi, needing more than firmware but less than a full Azure Sphere-like Linux. The OS adds to Microsoft’s edge compute capabilities, already running on more than two billion devices.
Real time with Azure RTOS
At the heart of Azure RTOS is the ThreadX picokernel. It’s designed to scale across a range of hardware, with a customizable deployment image that only bundles the services needed by your code. Those services are implemented as a C library, simplifying building and delivering runtime code. The kernel is distributed as C source code, so it’s possible (though not recommended) to modify it to deal with specific hardware or application requirements.
Services run side by side as threads—they don’t layer—allowing ThreadX to be optimized for speed and for switching between services. Performance is essential, as real-time operating systems need to respond quickly to event-driven inputs as they often operate in safety-critical roles.