OS consolidation: The next step in hypervisors
There are many reasons why military embedded systems become obsolete. Sometimes it’s because vendors stop supplying required hardware or supporting certain operating systems or versions. Other times it’s because of changes in the development team, leading to a loss of engineers who know the software’s inner workings and how to maintain it.
Many teams turn to hypervisor solutions to extend the life of legacy military embedded systems by hosting them on newer computing platforms. However, these solutions make it difficult for software engineers to continue developing the application moving forward. This is because the environment has now become more complex with a variety of integration and communication issues. The increased complexity is also because more OS platforms are added, each requiring special development tools.
These teams should take the next step and consolidate their applications to a single operating system to simplify development, reduce bill-of-material costs, and utilize the system resources effectively. There are many issues that are resolved when consolidating to a single operating system, which will be addressed later in this discussion. However, we first need to understand more about next-generation hypervisors.
What is a next-generation hypervisor?
Typical hypervisors for embedded military applications allow for running applications on multiple OSs on a single hardware platform. The next-generation hypervisor goes one step further by eliminating the need for multiple operating systems by providing the OS functionalities required by the applications. Next-generation hypervisors are able to accomplish this by reading the application’s source code and generating the code needed to compile the application for the new single OS using native tools. Figure 1 illustrates next-generation hypervisors.
Next-generation hypervisors are able to eliminate the middleman by providing OS services that enable hosting the application across multiple operating system platforms. This design ensures that applications are not locked into a particular OS platform. These hypervisors are redefining virtualization from wrapper-based implementations to source-level virtualization, thereby bypassing multiple layers of OS and hypervisor schedulers. They also provide pools of reusable static resources (for example, threads, timers, queues, and so on) that improve performance by eliminating the dynamic creation and deletion of resources.
OS consolidation solves issues
There are many reasons for consolidating applications to one OS. These are four of the top reasons:
Simpler development: Consolidating to one OS allows for streamlining the development to include one set of tools, device drivers, and BSPs.
Cost savings: Eliminating the extra OSs will decrease overall development costs. Once a budget includes costs for only one OS and related tools, teams will see immediate savings and a reduction in maintenance requirements.
Integration of applications: Migrating legacy applications to a single platform allows for more efficient communication and a tighter integration of the applications. Applications can communicate with each other through direct data transfer via shared memory rather than using physical or simulated devices. A typical hypervisor solution does not provide such a mechanism.
Better performance: One of the more important reasons to choose a next-generation hypervisor is performance. When all applications are running natively on one OS platform, engineers will have greater source-level control for performance optimization. Consolidating to one OS also means your system needs to set aside fewer OS resources. In addition, CPU resources can be dedicated to a single application utilizing the SMP features offered by the target OS.
OS consolidation wrap-up
Many developers may have concerns when considering consolidating all of their applications to one operating system platform. They might think they are exposing their systems to risk by putting all of their eggs in one basket and locking their code to one particular OS. They may also worry about the work involved in porting various applications to a single OS. However, these issues are easily solved with next-generation hypervisors such as the Cross-OS Hypervisor from MapuSoft Technologies, which provides a way for applications written to various OSs to be consolidated to one OS without manual porting effort. In addition, the applications can easily be moved to different OS platforms in the future.