虛擬化技術
虛擬化是從邏輯角度出發的資源配置方案,是對物理資源的一種抽象。抽象的結果是,在只有一台計算機硬體的情況下、通過虛擬化技術、可以讓多個作業系統同時運行在此計算機硬體上,並且讓這些作業系統都認為自己獨享整個硬體,資源劃分對作業系統是透明的。
虛擬機監控技術
目前的多核虛擬機的監控通常都是採用硬體虛擬化的技術來實現,即通過虛擬化技術虛擬出多個串口,使得每個作業系統都認為自己擁有串口資源,通過各自虛擬串口即可進行監控。
虛擬化系統下的I/O訪問需要在客戶作業系統、VMM、設備驅動程式、I/O設備共同參與下才能完成。所謂的虛擬設備就是由VMM創建的,提供給客戶作業系統進行I/O訪問的虛擬I/O設備。客戶作業系統只能觀察到屬於它的虛擬I/O設備,客戶作業系統的所有I/O訪問都被發往它的虛擬I/O設備,然後VMM軟體從虛擬I/O設備中獲取客戶作業系統的訪問請求,繼而完成真正的I/O訪問。使用I/O虛擬化技術,由於中間層的存在、性能上往往損失較多、然而為了最佳化性能,需要對VMM軟體進行過多的修改,其中主要修改是對設備馭動程式的開發支持。設備馭動程式是導致系統崩潰的一個重要原因,這種對VMM的修改將給系統的安全性和可靠性留下重大隱患。而且還會使得VMM軟體設計變得更加複雜,不利於VMM軟體更新升級,也就是說使用I/O虛擬化技術需要在性能與複雜性、可靠性上進行一個折中,很難同時滿足高性能、高可靠性以及低複雜性。