Imagine you're an engineer at an ODM or OEM working on a IoT product for the smarthome - from a simple thermostat to security alarms, from set top boxes to internet gateways.
Linux is a fairly obvious choice to build these product that have greater than 128MB of RAM and storage. On resource-constrained devices, an RTOS such as Zephyr is able to even run on devices with as little as a few hundred KB of RAM and storage.
However, the kernel is a small part of the device's software stack - there is middleware, application frameworks, security policies, key management, OTA and multi-year maintenance that the company needs to budget into the device's engineering support costs.
Viewing the Linux and RTOS ecosystems as two parts of a single product platform allows for a coherent view of both ecosystems by developers. You want to make sure that you can apply the same set of software configurations and policies across both ecosystems e.g. library versions, compatible protocol suites, security configurations, OTA mechanisms and even a single set of IP compliance tools.
As an example, when you decide you want to secure all your network communications out-of-the-box in your product platform, you need to:
Now repeat this exercise across every key component of the OS - security policy, networking features, OTA, toolchain hardening, IP compliance tools and you end up with a meta-project that spans and contributes to both ecosystems.
We've started to build such a open product platform with opinionated defaults that follow community best practices with Eclipse Oniro. And this is our story about our plans for the future.
Speakers: Amit Kucheria