The RT-Thread real-time operating system now has a stable-mate, RT-Thread Smart - designed, its creators say, over three years of development specifically for mid-range to high-end processors — including RISC-V — with memory management units (MMUs).
The standard RT-Thread real-time operating system (RTOS) aims to support as broad a range of devices as possible — as proven by its recent port to the Raspberry Pi Pico and its RP2040 microcontroller and the release of an RT-Thread-specific RISC-V development board which mimics the Arduino Uno form factor.
RT-Thread Smart, by contrast, runs on a narrower set of devices — doing away with support for entry-level and ultra-low-power parts in favor of offering additional functionality.
"RT-Thread Smart is a professional, high-performance, microkernel operating system for real-time applications," Zhu Tianlong, technical director of the RT-Thread project, explains in a piece on Opensource.com. "It offers an open source foundation for embedded devices in any market, including security (e.g., internet protocol cameras), industrial control, onboard devices, consumer electronics, and anything else using embedded technology (which is increasingly coming to mean 'everything.')"
"It's significant because, unlike traditional IoT operating systems, a microkernel operating system can fill the gap between a traditional real-time operating system (RTOS) and a comparatively large operating system like Linux to achieve the best balance between real-time performance, cost, security, startup speed, and more."
While the operating system requires that the target devices has an MMU, so that it can split a system into kernel space and memory space, it's certainly lightweight: Compressed, the kernel weighs in at 217kB with a root filesystem of 127kB; while running, it consumes an average of 2MB of RAM - and finishes booting in 500ms bare and under five seconds when loading file system, network protocol, and multimedia software stacks.
RT-Thread Smart doesn't replace RT-Thread, though: The two will live side-by-side, Zhu confirmed. The kernel of RT-Thread Smart is, effectively, RT-Thread itself — and if the new Smart features can't be loaded, it falls back to operating as RT-Thread.