1 引言
Linux移動終端是指基于Linux內核的手機、移動互聯網設備(MID)和上網本等便攜設備。In-tel公司的MID設備、基于Google公司的Android系統的手機和基于Maemo系統的諾基亞手機等都屬于Linux移動終端。Linux移動終端的市場份額不斷擴大。未來幾年,3G通信技術、移動設備硬件技術的發展和應用程序商店模式的普及將進一步擴大移動終端的用途。
然而,移動終端所面臨的安全威脅很快將超越個人電腦,成為個人信息安全的第一大隱患。2009年以來,病毒的年度增長數量將有可能超過過去10年的總和。隱私信息被盜、通話被竊聽等將給個人信息安全帶來極大威脅。而且,移動終端面臨更多隱患,包括下載安裝低品質的應用程序容易導致整機失靈和應用程序相互沖突等。此外,移動終端與情景模式相適配將是受歡迎的,這意味著用于工作時的使用環境和用于游戲時的使用環境是不同的?偠灾,移動終端需要更安全、更可用和更個性化。
針對市場份額日益擴大的Linux移動終端,本文提出了操作系統級虛擬化技術,用于隔離安全威脅和隱患,避免程序失敗導致整機失靈,同時通過提供與應用情景模式相適配的使用環境來滿足個性化需求。這一技術比國外普遍采用的硬件級半虛擬化技術更適用于大眾用戶。
2 移動終端虛擬化技術現狀
國內外普遍看好移動終端虛擬化的前景。下面列出了國外四家公司在移動終端虛擬化方面的技術動態。國內尚無類似產品問世。
(1) VirtualLogix公司的VLX產品,面向ARM硬件平臺。配備該產品的移動手持設備能夠同時運行修改過的Linux, Symbian, Android和
Windows四種操作系統。已商用。
(2) VMware公司的移動虛擬化平臺,面向ARM硬件平臺。配備該產品的手機能夠同時運行修改過的Linux, Symbian, Android和Windows四種操作系統。
(3) Open Kernel Labs公司的OKL4,面向ARM,MIPS和Intel Atom硬件平臺。配備該產品的手機能同時運行OK: Linux, OK; Windows,OK : Symbian和OK : Android四種操作系統。操作系統名稱前冠以“OK”的原因在于代碼進行了修改以與OKL4適配。已商用。
(4)Samsung公司發起的Xen-ARM項目把通用計算機系統的虛擬化軟件Xen移植到ARM平臺。這是一個開源項目,可以從http:刀wiki. xen-source. com/xenwiki/XenARM處下載到源代碼。
文獻[4]介紹了在ARM平臺上開發虛擬機管理器原型系統的工作。文獻[s]敘述了把虛擬機管理器軟件Xen移植到StrongARM平臺的工作。
以上產品或項目都采用硬件級的半虛擬化技術。半虛擬化是在移動終端硬件平臺和操作系統之間加人一層軟件(稱之為虛擬機管理器),構造出多個隔離的虛擬硬件平臺(即虛擬機),分別運行修改過的操作系統,如圖1所示。修改操作系統的原因在于虛擬硬件平臺的接口與真實移動終端硬件平臺的接口不完全一致。
Figure 1 Architecture of paravirtualization
圖1硬件級半虛擬化
硬件級半虛擬化具有以下特點:
(1)因虛擬化造成的性能損失為200^'8000
(2)不同虛擬硬件平臺上可以運行不同的操作系統。
(3)操作系統要作出修改,以適配虛擬硬件平臺的接口。
(4)采用“分離設備驅動模型”來實現共享設備的虛擬化。該驅動模型包含前端驅動和后端驅動,由后端驅動調用真實的驅動程序。
硬件級半虛擬化的不足在于:
(1)增加軟件費用。用戶須分別為運行于各個虛擬機內的操作系統和應用軟件支付費用,即使應用軟件的功能類似。
(2)增加用戶學習成本。運行多個操作系統時,用戶須學習不同操作系統的不同交互方式。
(3)實現硬件級半虛擬化技術的工程規模大,而且難度高。主要原因是實現時需要與硬件打交道;而且,移動終端廣泛采用的ARM處理器不能很好地支持虛擬化;此外,運行在虛擬機上的操作系統要作出修改。
以上不足表明,采用硬件級半虛擬化技術的移動終端不適用于大眾用戶。因為大眾用戶更注重經濟和好用,而運行多種操作系統的需求對多數人而言并不強烈。
本文選用操作系統級虛擬化(下簡稱為OS虛擬化)技術路線,一方面能夠增強移動終端的安全性、可用性和個性化;另一方面既不增加軟件費用也不增加用戶學習成本。操作系統級虛擬化不支持運行多種不同的操作系統。對Linux移動終端而言,這意味著只能在上面運行基于Linux內核的系統。鑒于多數大眾用戶不需要運行多種操作系統,這一技術路線有著良好的應用價值。
3 Linux移動終端的os虛擬化
OS虛擬化的本質是在操作系統內核之上構造出隔離的運行環境。每一個運行環境與沒有進行虛擬化時設備提供的運行環境是一模一樣的,這一運行環境被稱為虛擬運行環境,簡稱為虛擬環境。
經過OS虛擬化的Linux移動終端的軟件系統包含三個部分:添加了虛擬化補丁的Linux內核、用戶級管理工具和虛擬環境。虛擬環境是獨立的、運行移動應用程序的“沙盒”。每一個虛擬環境都有自己的根文件系統、系統庫、系統軟件和應用軟件、用戶和用戶組、進程樹、網絡配置(如IP地址,路由規則和防火墻)、設備等。在不同虛擬環境中運行的程序,彼此互不干擾。圖2中,標為VE( Virtual Environment)的圓角矩形框代表了一個虛擬環境。在用戶看來,一個虛擬環境是移動終端內的獨立區域,其內能安裝和運行程序,既不依賴其他虛擬環境,也不受其他虛擬環境內的程序的影響。
Figure 2 Virtual environment
圖2虛擬環境
虛擬化補丁的作用是構造隔離的虛擬環境、管理資源以及備份恢復支持。管理資源的工作包括兩級的CPU調度和提供虛擬的網絡設備。兩級CPU調度是指先為虛擬環境分配CPU,進而在其內為進程分配CPU。虛擬的網絡設備使得虛擬環境能夠設定獨特的網絡配置。
用戶級管理工具的作用是創建/刪除虛擬環境、啟動/關閉虛擬環境、設置虛擬環境參數和備份/恢復虛擬環境。備份和恢復虛擬環境功能利于更換手機。備份時把虛擬環境存儲為一個壓縮包,恢復時展開壓縮包。如果在另一部移動終端上進行恢復,則用戶的使用環境能完整地被保留。
為減少用戶學習成本,虛擬化補丁和用戶級管理工具都是預裝在移動終端內,用戶感受到的應當只是把移動終端分成隔離區域的能力。用戶只要發一條指示即可完成創建虛擬環境的工作,期間自動把必需的運行庫和公用程序復制到新虛擬環境。
以上構思充分借鑒了桌面計算機/服務器的OS虛擬化技術;贚inux內核的os虛擬化軟件有開源軟件OpenVZ , Linux-VServer,FreeVPS和商業軟件Virtuozzo。
文獻〔8〕指出OS虛擬化比半虛擬化效率更高。移動終端的OS虛擬化與服務器的OS虛擬化存在明顯差別。原因主要有兩方面:首先,運行的硬件平臺差別大,服務器OS虛擬化面向的硬件平臺多為X86 , Pow
ERPC或IA-64,而移動終端的硬件平臺多為ARM;其次,用戶群不同,前者面向的用戶是專業的系統管理員,后者面向的用戶則是強調簡單交互的大眾用戶。技術上,兩者的不同體現在以下方面:
(1)服務器OS虛擬化提供的某些特性,如磁盤配額管理和在線遷移,對移動終端OS虛擬化而言是不需要的。
(2)服務器OS虛擬化構造而成的虛擬環境不提供圖形界面,無法運行圖形界面用戶程序;移動終端OS虛擬化構造而成的虛擬環境內須運行圖形界面。
(3)服務器OS虛擬化的用戶級管理工具是命令行的;移動終端OS虛擬化的用戶級管理工具須是圖形化的,而且須是易操作的。
(4)服務器OS虛擬化允許不同虛擬環境內運行不同Linux發行版;移動終端OS虛擬化不需要提供類似支持,這利于提供簡單的用戶界面,減少用戶學習成本。
由上可見,Linux移動終端的OS虛擬化的最大挑戰在于用戶體驗方面,要被大眾用戶接受,虛擬化帶來的學習成本接近于零。“
4 OS虛擬化的優勢
n>增強安全性。
依賴隔離特性,位于某個虛擬環境(如專用于游戲的虛擬環境)中的惡意程序無法侵害其他虛擬環境(如專用于理財的虛擬環境)的程序或數據。由此,os虛擬化限制了安全威脅的作用范圍。
不同虛擬環境可以采用不同的安全設置。比如理財虛擬環境里采用高級安全設置,不安裝無關軟件,能顯著減少被攻擊的機會。而游戲虛擬環境可以采用低級安全設置,可以自由訪問或下載資源。
(2)增強可用性。
①程序不穩定導致“系統沒有響應”,失效的僅僅是所在的虛擬環境,其他虛擬環境內的程序的運行不受影響。因此,單個程序故障不會引起整機失靈。
②沖突的程序分派至不同虛擬環境即可互不干擾地運行。
③把虛擬環境備份存儲為一個文件。一旦移動終端遺失或損壞,亦或者換移動終端,啟用備份即可恢復原有的個性化使用環境。
(3)增強個性化。
根據應用情景模式(工作、理財或游戲等)定制虛擬環境,選用不同主題,安裝不同的程序集合,滿足多樣的個性需求。此即“一機多環境”,就像使用多部移動終端一樣。例如,用一個虛擬環境運行工作業務程序,選擇保守風格主題;在另一個虛擬環境中運行游戲程序,使用炫麗風格主題。
借助這一特性,企業可以定制一個已經配裝好企業應用軟件棧的虛擬環境分發給員工,由此減少管理維護壓力。銀行可以發布為用戶定制的、配裝有數字證書以及軟件的虛擬環境發布給公眾,公眾不需要安裝和配置即可使用。
5 OS虛擬化與半虛擬化的對比
OS虛擬化和硬件級半虛擬化都能夠使移動設備更安全、更可用和更個性化。表i列出了移動設備的OS虛擬化與硬件級半虛擬化之間的對比。硬件級半虛擬化的優勢在于支持運行多操作系統。但是,在運行多系統不是必須的情形下(大眾用戶多數傾向于這么做),OS虛擬化有著明顯優勢。主要三項優勢說明如下:
(1)基于OS虛擬化,多個虛擬環境共享OS內核和應用程序,節約軟件費用。
借助類似于Virtuozzo的應用程序共享的功能,對于公用軟件(如防火墻),各個虛擬環境共享同一份拷貝(各自維護私有數據),不必分別安裝,也就是說,用戶只需支付一份拷貝的費用。硬件級半虛擬化做不到這一點,用戶須為各個虛擬機上的同樣軟件拷貝分別支付費用。
(2)基于OS虛擬化,不增加用戶學習成本,更適用于大眾用戶。
基于OS虛擬化,用戶界面的風格是統一的,也不需要用戶自行安裝操作系統,因虛擬化產生的學習成本在理論上可以減到零(當然這離不開良好的用戶體驗設計)。所以,在易用性方面,OS虛擬化的移動終端會比半虛擬化的移動終端更適用于大眾用戶。
Table 1 Operating system-level
virtualization VS paravirtualization
表1 OS虛擬化與半虛擬化的對比
(3)與半虛擬化技術路線相比,研發成本更低,難度更小,周期更短。
緣由在于OS虛擬化的實現與硬件無關,并且不涉及驅動程序。與底層硬件的交互,包括調用設備驅動程序,都由OS內核負責。硬件級半虛擬化的實現直接與硬件打交道,底層細節繁多,成本和難度顯著增大。
6 結束語
以手機為代表的移動終端功能越來越豐富,對人越來越重要。基于Linux的移動終端的市場份額日益增大,移動終端所面臨的安全威脅很快將超越個人電腦,成為個人信息安全的第一大隱患。移動終端需要更安全、更可用和更個性化。本文提出的操作系統級虛擬化技術用于構造隔離的虛擬環境,能夠隔離安全威脅和隱患,避免程序失敗導致整機失靈,同時通過提供與應用情景模式適配的個性化使用環境來滿足個性化需求。US虛擬化不支持運行多種操作系統,硬件級半虛擬化允許運行多種操作系統。然而,US虛擬化技術比硬件級半虛擬化技術更適用于大眾用戶。原因在于它既不增加軟件費用也不增加用戶學習成本,這是硬件級半虛擬化做不到的。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:基于Linux的移動終端操作系統級虛擬化方案及優勢
本文網址:http://www.guhuozai8.cn/html/consultation/10839410246.html