After Google Brillo operating system was officially launched last week, another company has announced free operating systems for IoT. What’s peculiar is that the company is Wind River a vendor of commercial operating systems whose typical business model is to sell licenses for their operating systems and fees for their development services. Nevertheless, the company has now introduced Wind River Rocket real-time operating system, and Wind River Pulsar Linux operating system. Both OSes will interface with the company’s Helix Cloud software-as-a-service (SaaS) products, which is probably how the company intends to monetize their work, on top of customization services.
Wind River Helix App Cloud is currently made of three products:
- Helix App Cloud cloud-based development environment for building IoT applications
- Helix Lab Cloud cloud-based virtual hardware lab for simulating and testing IoT devices and complex systems.
- Helix Device Cloud cloud-based platform for managing deployed IoT devices and their data.
- Multi-threading – priority-based, non-preemptive fibers and priority-based, preemptive tasks (with optional round robin time-slicing).
- Interrupts – compile-time and run-time registration of interrupt handlers, which can be written in C or assembly language.
- Power Management – tickless idle and an advanced idling infrastructure.
- Inter-thread Data Passing – basic message queues, enhanced message queues, and byte streams.
- Memory Allocation – dynamic allocation and freeing of fixed-size or variable-size memory blocks.
- Inter-Thread Synchronization – binary semaphores, counting semaphores, and mutex semaphores.
Rocket can be used in devices with as low as 4KB memory. Since Rocket is cloud-connected, you can develop your app in a web browser, and technical details and documentation can be found in Rocket’s developer zone, and sample apps on Github including some using the Arduino library. The sample apps are also available directly from Helix App Cloud. While Rocket OS is free, it does not appear to be open source (TBC).
Wind River is now an Intel company, and one of the boards supported is Galileo Gen 2 board with an Intel Quark SoC, but they’ll also soon support ARM platforms starting with Freescale Freedom-K64F board powered by Kinetis K64, K63 or K24 Cortex-M4 MCU. If you don’t have hardware you can also give it a try with Qemu.
Pulsar Linux is for more powerful hardware, and is based on the Yocto Project. The main features of the operating system are listed as follows:
- Multiple architectures – Certified images run on all major CPU architectures.
- Easy application development and device lifecycle management – Using the available SDK, users can focus directly on developing their own value-added features.
- Quick prototyping – Pulsar is shipped as a pre-installed binary image with hardware, or is available for download.
- Integration with Wind River Helix Lab Cloud and Wind River Helix App Cloud – Pulsar can run on simulated hardware within cloud-based virtual lab that includes software and hardware simulations.
- Top-to-bottom security – From secure boot to middleware and applications, all transfers are made via a certified repository feed.
- Secure updates – Pulsar provides ongoing security patches and other critical Linux updates.
- Software updates for deployed devices – A smart update agent connects to certified repositories for updating devices deployed in the field.
- Extensibility via packages – You can add packages on the target from a certified repository or build packages on the target.
- Containers for application middleware abstraction – Pulsar can bring any application from any ecosystem to run on any device, even applications that need their own middleware.
- Free open source software (FOSS) compliance – Source code is provided for power users
Supported hardware include Minnowboard MAX, as well as AVNet’s PicoZed, MicroZed and mini-ITX development board all powered by Xilinx Zynq ARM + FPGA SoCs. You can also run the Minnowboard image via kvm/qemu.