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