虚拟机管理程序,它是一个软件层,支持多个操作系统(OS)在一个硬件平台上同时运行。虚拟机管理程序并不是真正的新技术。现在,虚拟机管理程序与嵌入式开发人员的关系越来越密切。
在考察任何技术的能力时,首先要问的问题是,为什么?请记住,在一个硬件上运行多个操作系统会带来什么好处,这会带来很大的复杂性?最重要的答案是安全。虚拟机管理程序在客户操作系统之间提供了一个强大的隔离和保护层,确保一个多线程应用程序不会干扰另一个。
运行多个操作系统的重要的动机是IP重用。假设你想在设计中使用一些重要的Linux软件IP。然而,你的设备是实时的,所以RTOS更有意义。如果多核不是一个选项(因为这是在一个设备上运行多个操作系统的另一种方式),那么使用虚拟机管理程序是一种前进的方式,这样嵌入式开发人员就可以运行Linux和你的RTOS。
虚拟机管理程序大致分为两种类型,被形象地命名为类型1和类型2。类型1虚拟机管理程序在裸机上运行;类型2需要底层主机操作系统。类型1对大多数嵌入式应用最有意义。
嵌入式系统管理程序大致有三个应用领域:
汽车:在这种情况下,信息娱乐软件、仪表组控制和远程信息处理都有可能在一个多核芯片上运行。由于很可能需要操作系统的混合,比如仪器使用RTOS,音频使用GPS和Linux,所以管理程序是有意义的。
工业:用于工业应用(工厂、矿山、发电厂等)。通常需要实时控制和复杂的网络(如Linux中可用的)。此外,近年来,在嵌入式开发中,人们越来越担心对控制系统的网络攻击或恶意软件的其他引入。管理程序是分离系统和维护安全性的好方法。
医疗:医疗系统带来了一些新的挑战。通常,实时(患者监测和治疗控制)和非实时(数据存储、网络和用户界面)功能混合在一起,因此虚拟机管理程序最初看起来很有吸引力。患者数据的保密性至关重要,因此虚拟机管理程序的安全性变得非常重要。最后,完全分离系统中需要认证的部分(通常是实时部分)的能力,使得虚拟机管理程序很有吸引力。
虚拟机管理程序可以在一个硬件平台上支持多个操作系统,这意味着这意味着一个处理器。事实上,许多虚拟机管理程序产品都支持使用多个CPU,虚拟机管理程序提供整体监管和操作系统间的通信。这正在成为虚拟机管理程序有助于设计复杂而可靠的嵌入式开发软件的最重要的环境。