虛擬機管理程序,它是一個軟件層,支持多個操作系統(OS)在一個硬件平臺上同時運行。虛擬機管理程序并不是真正的新技術。現在,虛擬機管理程序與嵌入式開發人員的關系越來越密切。
在考察任何技術的能力時,首先要問的問題是,為什么?請記住,在一個硬件上運行多個操作系統會帶來什么好處,這會帶來很大的復雜性?最重要的答案是安全。虛擬機管理程序在客戶操作系統之間提供了一個強大的隔離和保護層,確保一個多線程應用程序不會干擾另一個。
運行多個操作系統的重要的動機是IP重用。假設你想在設計中使用一些重要的Linux軟件IP。然而,你的設備是實時的,所以RTOS更有意義。如果多核不是一個選項(因為這是在一個設備上運行多個操作系統的另一種方式),那么使用虛擬機管理程序是一種前進的方式,這樣嵌入式開發人員就可以運行Linux和你的RTOS。
虛擬機管理程序大致分為兩種類型,被形象地命名為類型1和類型2。類型1虛擬機管理程序在裸機上運行;類型2需要底層主機操作系統。類型1對大多數嵌入式應用最有意義。
嵌入式系統管理程序大致有三個應用領域:
汽車:在這種情況下,信息娛樂軟件、儀表組控制和遠程信息處理都有可能在一個多核芯片上運行。由于很可能需要操作系統的混合,比如儀器使用RTOS,音頻使用GPS和Linux,所以管理程序是有意義的。
工業:用于工業應用(工廠、礦山、發電廠等)。通常需要實時控制和復雜的網絡(如Linux中可用的)。此外,近年來,在嵌入式開發中,人們越來越擔心對控制系統的網絡攻擊或惡意軟件的其他引入。管理程序是分離系統和維護安全性的好方法。
醫療:醫療系統帶來了一些新的挑戰。通常,實時(患者監測和治療控制)和非實時(數據存儲、網絡和用戶界面)功能混合在一起,因此虛擬機管理程序最初看起來很有吸引力。患者數據的保密性至關重要,因此虛擬機管理程序的安全性變得非常重要。最后,完全分離系統中需要認證的部分(通常是實時部分)的能力,使得虛擬機管理程序很有吸引力。
虛擬機管理程序可以在一個硬件平臺上支持多個操作系統,這意味著這意味著一個處理器。事實上,許多虛擬機管理程序產品都支持使用多個CPU,虛擬機管理程序提供整體監管和操作系統間的通信。這正在成為虛擬機管理程序有助于設計復雜而可靠的嵌入式開發軟件的最重要的環境。