嵌入式實時Hypervisor:XtratuM (3)

1.2           研究意義

Hypervisor出現的早期是被應用到大型服務器中,伴隨着Hypervisor技術的發展和推廣以及硬件設備的發展,Hypervisor逐漸被應用於個人桌面計算機環境中,近幾年,Hypervisor又逐漸在嵌入式環境中蔓延。顯然,Hypervisor具有一定的價值或優點,才得以在這三種環境中生存和發展。下面列出了Hypervisor技術的優點以及可以解決的問題[22,23,24]1)通過Hypervisor技術,可以對新架構平臺和特權指令的進行調試和測試;2)利用Hypervisor,在平臺移植前對軟件的調試和測試;3)基於Hypervisor,在同種平臺上運行特殊和早期的操作系統;4)作爲非可信軟件的沙箱;5)提高計算機的使用率;6)提高操作系統的可移植性。硬件的變動,不會引起操作系統和應用程序的修改;7)簡化系統的遷移、備份和恢復。這些優點具有一定的通用性,針對嵌入式領域,Hypervisor系通在某些方面的優勢更加突出。

Hypervisor系統可以支持多種不同種類的應用軟件(例如實時任務和非實時任務)在同一平臺並行運行。傳統的嵌入式系統是封閉的,所有的軟件棧是由設備供應商提供,並且在銷售前加載,後期不會被修改,尤其是固件系統,相應升級更是稀少。另外,商用實時操作系統與開源實時嵌入式系統多種多樣,並且都具有固定的實時應用軟件,由於對操作系統的依賴性強,由於單個操作系統獨立運行於硬件系統上,相應實時應用軟件也只能運行於該操作系統,當操作系統發生變化時,實時應用軟件必須更新,以適應底層平臺的改變,從而給整個嵌入式系統開發和應用帶來直接負面影響,增加了系統開發成本,延長了系統開發週期。在Hypervisor中,一個系統可以同時支持多種操作系統,可以是實時操作系統,也可以是非實時操作系統,從而可以保證系統最上層可以支持實時和非實時應用軟件的並行運行。例如,在XtratuM Hypervisor系統中,Linux系統上的瀏覽器和PaRTiKle(Particular Real-Time Kernel)實時操作系統中的實時數字控制系統(CNCComputer Numerical Controlled)可以在一個平臺上同時運行。

此外,嵌入式系統功能逐漸增多,相應軟件數量和系統複雜度也迅速增加。例如,當前在手機系統中的軟件協議棧大小就是5-7M,這一數值還在增加。頂級汽車的軟件系統的大小已經達到GB數量級,甚至“下載軟件的時間比構建物理車輛的時間還要長”。嵌入式軟件存在封閉性強、軟件需求繁多的現象,封閉性強給軟件的複用和移植帶來不便,軟件需求繁多直接導致開發難度大,開發週期長,整體效率差等問題。另外,針對PC平臺開發的軟件系統在嵌入式平臺上使用的現象已非常明顯,這種現象被稱之爲軟件通用化現象,並且很多新嵌入式應用軟件的開發者並非懂得嵌入式開發技術。在這種情況下,一種支持多種操作系統APIs的高層面嚮應用的操作系統需要建立。也就是說,在應用軟件通用化的趨勢下,需要有一種能夠滿足多種應用軟件在同一個硬件平臺上運行的機制或架構,用以解決當前軟件複用和開發的問題。而Hypervisor恰好可以滿足這種需要,可以很好的解決該類問題。

Hypervisor可以提高嵌入式系統的可靠性、安全性、穩定性、有效性。嵌入式系統是普遍存在的,並且逐漸成爲日常生活的一部分,無法想想離開嵌入式系統人類如何生活,尤其是關係到個人生命安全和財產安全的領域,例如航空航天、醫療、火車、汽車、國防等。在這些特殊領域中,直接使用通用操作系統的應用軟件作爲嵌入式軟件顯然不太適宜。嵌入式系統不僅僅需要滿足實時需求,而且還應該具有較高的安全性(Safety)、可靠性(Reliability)、有效性(Availability)。但是,在這些關鍵領域中,由於歷史的原因,多種實時操作系統的封閉性,限制了不同實時軟件的並行運行,例如VxWorksLynxOSRTLinuxRTAI等。類似於普通嵌入式系統,在這些關鍵領域,一種高安全性、高穩定性、支持多種實時系統APIs的面向應用操作系統的被迫切期待[25262728]。通過提供可靠的隔離和冗餘機制,將臨界組件與不可信任操作系統進行隔離,保證臨界組件的安全性、可靠性、和有效性,Hypervisor可以改善以上需求。

Hypervisor技術可以加速操作系統的移植。Hypervisor的目的是在物理硬件和操作系統之間建立一層硬件抽象層(HALHardware Abstraction Layer),它將底層的物理硬件結構進行封裝,例如寄存器、端口等,爲操作系統提供相應的軟件接口,在操作系統移植過程中,操作系統就不需要了解繁縟的底層物理信息,直接調用相應的軟件接口就可以完成相應的服務請求或設備配置。但是,由於當前存在系統管理層的多樣化,並且各自爲政,每種Hypervisor都有自己的一套抽象接口,沒有統一標準和規定,從而導致操作系統在Hypervisor上面的移植工作不盡相同,但是這依然可以降低操作系統向不同平臺移植的工作量和工作週期。

總之,Hypervisor系統的研究在嵌入式實時系統領域具有重要意義:1)可以爲現今嵌入式系統具有的功能多、平臺開放、軟件複雜等問題提供解決方案;2Hypervisor可以在同一物理設備上並行運行多種操作系統,典型的應用就是在系統底層運行提供實時任務的實時操作系統,同時,執行客戶操作系統並提供相應的應用任務,例如LinuxWindows3)可以保護具有高安全需求的子系統,例如通信協議棧,各戶系統無法對其進行直接訪問或攻擊;4)物理內存的分離,可以阻止系統直接的相互干擾;5)解決License問題。另外,該技術的研究在國內外還處於起步階段,儘早展開對相關技術的研究,可以在未來嵌入式領域競爭中取得主動。

XtratuM Hypervisor的研究具有獨特的意義。嵌入式系統領域中,Hypervisor的應用根據系統的實時能力,可以被區分爲三種:硬實時,軟實時和非實時。三種實時能力的劃分是根據系統沒有在指定的時刻完成任務所造成的後果嚴重性上。硬實時將會造成嚴重的後果,甚至是財產損失或危機人身安全,例如火車或汽車抱死系統。軟實時影響較輕,幾乎不會造成財產損失,對人可能是感官影響,例如音樂系統或電影播放系統。非實時將不會造成任何影響。

XtratuM系統是一種硬實時Hypervisor。它主要是解決實時系統與非實時操作系統並行運行而引起的安全問題。二十世紀九十年代中期,基於Linux系統的第一款硬實時操作系統RTLinux發佈,它是採用雙核共存的機制使Linux具有實時能力。在RTLinux系統,具有實時能力的RTLinux系統與普通Linux內核共存,同時運行於系統內核態(具有最高優先級,可以直接訪問底層硬件)。但是,在RTLinux系統中,實時系統與Linux內核運行於同一個地址空間,即Linux內核可以不加保護的非法訪問RTLinux內核空間,這必然會影響系統的安全性(Safety)和可靠性。另外,RTLinux系統還存在相應軟件專利保護:實時系統運行於底層硬件與Linux系統之間,Linux作爲具有最低優先級的任務被調度和執行。因此,通過Hypervisor技術,可以避免這兩個問題:1)實時系統與Linux內核在同一個地址空間;2RTLinux相關軟件結構專利。在這種情況下,XtratuM Hypervisor應運而生,取代RTLinux實時結構系統,構建新型Hypervisor實時環境。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章