在 LinuxDevices.com 上的一則新聞「Linux kernel gains paravirtualization option」指出,kernel 2.6.21 將加入 VMI(virtual machine interface)的功能,讓 kernel 得以「 modify itself for faster performance when run under a hypervisor」另外可參考這篇較完整的報導「Linux Kernel to Add VMI」。VMI 是由 VMware 公司所貢獻的實作,VMware 是知名度相當高的虛擬機器軟體商,同時也是老牌子的虛擬機器軟體,目前,Intel 與 AMD 已經將虛擬化技術列入重要的產品規劃(roadmap)項目裡了,再加上 VMware 公司的貢獻,可見虛擬化技術真的是 2007 年的重要技術發展趨勢之一。
上面所提到的「Hypervisor」指的是支援虛擬化處理器的虛擬機器管理軟體(Virtual Machine Management),這種技術其實已經存在非常久的時間了,只是以前都只應用在伺服器(RISC 架構)的領域,直到近年 Intel 與 AMD 開始將 hypervisor 技術導入其一般用途的處理器設計中,才引發一波新的風潮。
Hypervisor 技術能讓作業系統在 VMM 上執行,也就是作業系統虛擬化,這類的 VMM 較知名的有 VMware 與 Xen。「Virtualized operating system(VOS)」能解決執行效能與裝置管理面的問題;簡單表達 VMI 與 hypervisor 技術的架構關係如下:
+----------------------------+ \ | Linux Kernel | \ +----------------------------+ => Virtualized OS | VMI | / +----------------------------+ / | Hypervisors | ====> VMM (eg. Xen) +----------------------------+ | 虛擬化功能 CPU | +----------------------------+
而其中最主要的概念就是「VOS 與 VMM 之間的通訊介面」與「通訊協定」,也就是必須修改傳統的作業系統,讓 OS 能與「各種」VMM 更快、更有效率地溝通,這種技術便稱為「paravirtualization」。Linux kernel 的 paravirtualization 框架為 'paravirt_ops'。
未來,「虛擬化」將成為嵌入式系統的重要技術之一,不但是應用上將取得重要突破,就連傳統的「開發模式」也會有重大的變革。近期在許多嵌入式計算的會議發現,虛擬化的議題己成為核心議題之一;由於現代人類的溝通方式與協調技術進步很快,再加上數以千萬計的聰明大腦,「未來」可能只是一年後。
期待 Embedded Linux 第二個時代的來臨。
Jollen's Blog 使用 Github issues 與讀者交流討論。請點擊上方的文章專屬 issue,或 open a new issue
您可透過電子郵件 jollen@jollen.org,或是 Linkedin 與我連絡。更歡迎使用微信,請搜尋 WeChat ID:jollentw