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