Born for Virtualization
Virtualization is a long established technology in the IT world and has proven to save money, mainly by consolidating hardware. Similar demands for cost reduction also exist for embedded devices. But traditional real-time operating systems are not designed to serve as virtualization platforms. To take full advantage of potential savings embedded systems require an embedded virtualization platform designed from ground-up.
Join the Early Movers
Embedded engineers are not yet familiar with the potentials of using virtualization technologies. A survey conducted by VDC in March 2008 reports that only 5% of the respondents employ virtualization platforms in their current project, 74% did not. More than 20% didn't know. Those who had an opinion stated the following primary advantages of operating system virtualization for embedded systems (Ibidem, p. 5):
- Ability to easily port designs to new hardware platforms: 27%
- Secure partitioning of guest operating systems: 25%
- Ability to easily integrate new software/applications onto existing platforms: 18%
- Enable safety-critical certification of the underlying operating system: 18%
What is important when choosing a virtualization platform?
Virtualization platforms from the IT world can hardly be used in embedded systems because they lack support for embedded technologies: no embedded hardware, no real-time capabilities, no embedded APIs and
A modular structure on top of a micro kernel
When SYSGO started to investigate the potentials of virtualization for embedded systems, modularity was the most important requirement for the platform design. A separation micro kernel approach was the logical starting point. More innovations were introduced like replacing the classical concept of BSP (Board Support Package) by the combination of two small isolated Architecture and Platform Support Packages (ASP and PSP) that brought the desired modularity to the concept. System software on top of the micro kernel enables the creation of secure partitions for guest operating systems, runtime environments, and applications. The modular structure of PikeOS offers the advantages expected from device engineers:
- The modular structure of ASP and PSP allow easy ports to new hardware platforms;
- The separation micro kernel enables secure partitioning;
- Partitioning helps to easily integrate new applications
- With 12.000 lines of code (a little more than 5.000 only for the micro-kernel), PikeOS satisfies the demands of cost efficient certification according to safety and security standards like DO-178B and Common Criteria up to level 6 and 7.
What about the drawbacks usually brought up with embedded virtualization?
Responders of the above survey see one main disadvantage to virtualization for embedded systems: the potential impact on system performance. To deal with the inevitable overhead created by the multi-partitioning management, the PikeOS micro kernel is equipped with a patented solution for both, time and resource partitioning, resulting in real-time performance that competes head-to-head with conventional proprietary RTOS solutions. Having in mind the requirements of embedded devices, PikeOS is designed to take full advantage of embedded virtualization since the very beginning.