中文字幕无码久久精品,13—14同岁无码A片,99热门精品一区二区三区无码,菠萝菠萝蜜在线观看视频高清1

 首頁 > 新聞 > 國內(nèi) >

虛擬化技術(shù)在智能終端的應(yīng)用

2014-12-08 14:07:22   作者:   來源:比特網(wǎng)通信   評論:0  點(diǎn)擊:


  服務(wù)器和桌面機(jī)虛擬化一直占據(jù)有相當(dāng)大的版面,隨著云計算和存儲的興起,虛擬化技術(shù)更 被熱捧,還有一種虛擬化技術(shù)發(fā)展迅猛--嵌入式虛擬化。嵌入式虛擬化是指嵌入式系統(tǒng)中部署虛擬機(jī)監(jiān)控程序。盡管嵌入式設(shè)備一直受到嚴(yán)格的資源限制,但今天 的設(shè)備范圍廣泛--從擁有服務(wù)器級功能(比如對虛擬化的硬件支持)的強(qiáng)大處理器到擁有計較少容量和資源的功耗優(yōu)化系統(tǒng)。如果向嵌入式系統(tǒng)添加一個虛擬機(jī)監(jiān) 控程序,將添加靈活性和一些高級功能,將嵌入式設(shè)備轉(zhuǎn)變?yōu)橐环N新型系統(tǒng)。

  嵌入式領(lǐng)域包含幾個有用的虛擬化應(yīng)用領(lǐng)域:移動設(shè)備、安全性內(nèi)核和并發(fā)性嵌入式操作系統(tǒng)。本文介紹了智能終端中虛擬化技術(shù)的應(yīng)用。

  (一)虛擬化技術(shù)概述

  虛擬化是指計算機(jī)軟件在一個虛擬的平臺上而不是真實的硬件平臺上運(yùn)行。虛擬化技術(shù)可以 擴(kuò)大硬件的容量,簡化軟件的重新配置過程。其中CPU的虛擬化可以單CPU模擬多CPU并行運(yùn)行,允許一個平臺同時運(yùn)行多個操作系統(tǒng),并且應(yīng)用程序可以在 相互獨(dú)立的空間內(nèi)運(yùn)行而互不影響。虛擬化技術(shù)在降低硬件成本的同時,還可以顯著提高系統(tǒng)的工作效率和安全性。

  虛擬化系統(tǒng)的實現(xiàn)通常是在操作系統(tǒng)和硬件之間加入一個虛擬機(jī)監(jiān)控程序,稱為 Hypervisor。由Hypervisor主要負(fù)責(zé)各個操作系統(tǒng)之間的硬件資源協(xié)調(diào)。虛擬機(jī)監(jiān)控程序是一種特殊操作系統(tǒng),直接在裸機(jī)上 運(yùn)行(針對完全虛擬化技術(shù))。虛擬機(jī)監(jiān)控程序創(chuàng)建一個底層硬件平臺抽象,一個或多個虛擬機(jī)(VM)共享這個底層硬件平臺。在這種環(huán)境中,VM 只是操作系統(tǒng)及其應(yīng)用程序的容器,一個 VM 與虛擬機(jī)監(jiān)控程序上運(yùn)行的其他 VMs 隔離,這支持多個操作系統(tǒng)或多個配置不同的相似操作系統(tǒng)。

  智能終端虛擬化技術(shù)也是通過Hypervisor來實現(xiàn)多個操作系統(tǒng)的硬件資源共享。現(xiàn)有的虛擬化技術(shù)方案主要有VirtualLogix的VLX、Open Kernel Labs的OKL4等,這些技術(shù)方案雖然實現(xiàn)了不同的Hypervisor,但總體結(jié)構(gòu)相似。

  (二)智能終端領(lǐng)域的虛擬化

  虛擬化技術(shù)使得軟件和硬件通過虛擬化技術(shù)實現(xiàn)了較松的耦合,系統(tǒng)軟件只需要實現(xiàn)很少的 改動就能移植到新的硬件平臺上。智能終端可以在虛擬平臺上運(yùn)行多個相互隔離的操作系統(tǒng),提高手機(jī)系統(tǒng)的安全性。如將重要數(shù)據(jù)和安全需求高的應(yīng)用專門隔離保 護(hù)起來,即使某操作系統(tǒng)上的應(yīng)用軟件甚至整個智能操作系統(tǒng)因中毒等崩潰,虛擬化技術(shù)可以將重要數(shù)據(jù)隔離保護(hù)起來。另外虛擬化技術(shù)還可能減少硬件成本,如果 一顆CPU計算能力足夠,可以在一顆CPU上模擬多顆邏輯CPU的執(zhí)行,將智能操作系統(tǒng)和基帶的RTOS運(yùn)行在同一個CPU上,減少主芯片數(shù)量,節(jié)約大量 成本。多核平臺中也可以通過將CPUs虛擬成虛擬CPU池,所有軟件部分都通過虛擬化技術(shù)共享這些硬件資源。

  如果虛擬化技術(shù)在嵌入式領(lǐng)域高度發(fā)展,應(yīng)該可以實現(xiàn)軟硬件的極松耦合--所有軟件(操作系統(tǒng),WIFi、藍(lán)牙等微控制程序)共享硬件平臺、運(yùn)行在虛擬硬件層,邏輯硬件間形成統(tǒng)一的邏輯接口,硬件平臺支持方便的替換、升級。那時,智能終端將可任意定制。

  (三)ARM架構(gòu)上基于OKL4的Android虛擬化

  OKL4是Open Kernel Labs公司的一款虛擬化產(chǎn)品,作為針對嵌入式系統(tǒng)的Hypervisor,OKL4支持經(jīng)過虛擬化處理的操作系統(tǒng)(包括智能操作系統(tǒng)和RTOS),一些 操作系統(tǒng)的內(nèi)核組件也進(jìn)行虛擬化處理,獨(dú)立運(yùn)行在OKL4的輕量級執(zhí)行環(huán)境下。OKL4既支持粗粒度的操作系統(tǒng)虛擬機(jī),又支持細(xì)粒度的輕量級執(zhí)行環(huán)境。驅(qū) 動程序或文件系統(tǒng)等內(nèi)核組件可直接運(yùn)行在輕量級執(zhí)行環(huán)境中,其它子系統(tǒng)可以共享該組件,提高了系統(tǒng)的安全性,也提高代碼的復(fù)用率。

  虛擬機(jī)VMM(虛擬機(jī)監(jiān)控器)運(yùn)行在物理CPU的最高特權(quán)級,對物理資源虛擬的三個主要任務(wù):處理器虛擬化、內(nèi)存虛擬化和I/O虛擬化。本節(jié)通過CPU虛擬化、內(nèi)存虛擬化介紹ARM架構(gòu)上基于OKL4的虛擬化Android。

  1,CPU虛擬化的設(shè)計

  OKL4 Hypervisor運(yùn)行在特權(quán)級(6 種特權(quán)模式)上,負(fù)責(zé)管理CPU資源,負(fù)責(zé)虛擬機(jī)的調(diào)度和切換,而輕量級執(zhí)行環(huán)境和虛擬機(jī)均位于用戶模式下,使用OKL4提供的IPC機(jī)制進(jìn)行通信。

  在基于OKL4的虛擬化Android系統(tǒng)中,當(dāng)Android試圖訪問CPU寄存器 時,該請求不會真正發(fā)生在物理寄存器上,相反,OKL4會將訪問定位到“虛擬寄存器”。根據(jù)不同的處理器體系結(jié)構(gòu),OKL4定義了一套存放在內(nèi)存中的“虛 擬寄存器”,這些虛擬寄存器作為線程的本地變量位于線程的用戶線程控制塊中。通過“虛擬寄存器”,Android不會訪問到真實的物理資源,從而實現(xiàn)了操 作系統(tǒng)與CPU資源的隔離。

  2,虛擬內(nèi)存管理

  在OKL4虛擬化系統(tǒng)中,Android操作系統(tǒng)使用的內(nèi)存地址空間其實是OKL4建 立的虛擬地址空間,是由一些物理內(nèi)存映射而生成的虛擬內(nèi)存。在OKL4 Hypervisor啟動時,一個稱為__okl4_environ的全局變量會被初始化,__okl4_environ的成員 okl4_virtmem_item為一個結(jié)構(gòu)體數(shù)組,它代表了各個虛擬化子系統(tǒng)(包括操作系統(tǒng)和虛擬化組件)的虛擬內(nèi)存地址空間。子系統(tǒng)可以通過 OKL4提供的接口OKL4_ENV_GET_ STATIC()訪問該結(jié)構(gòu)體數(shù)組,獲取虛擬內(nèi)存地址。

分享到: 收藏

專題