亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于L4微內(nèi)核的輕量級(jí)手機(jī)中間軟件

        2010-08-29 12:59:28朱建新趙亞輝
        科技傳播 2010年19期
        關(guān)鍵詞:應(yīng)用程序架構(gòu)驅(qū)動(dòng)

        朱建新,趙亞輝

        華中科技大學(xué),湖北武漢 430074

        0 引言

        現(xiàn)在,隨著手機(jī)硬件功能的快速增強(qiáng),為了給手機(jī)提供靈活的應(yīng)用執(zhí)行環(huán)境,我們需要開(kāi)發(fā)各種各樣的手機(jī)操作系統(tǒng)和軟件平臺(tái)。本世紀(jì)初,手機(jī)WAP瀏覽器平臺(tái)被用來(lái)訪問(wèn)WAP網(wǎng)頁(yè)、圖片和下載手機(jī)鈴聲。之后,一些應(yīng)用平臺(tái)也被用來(lái)提供手機(jī)的應(yīng)用執(zhí)行環(huán)境,比如移動(dòng)虛擬機(jī)(Java、BREW、WIPI等)。但是多數(shù)移動(dòng)虛擬機(jī)只提供子自己特定的執(zhí)行環(huán)境,其應(yīng)用程序不兼容其它平臺(tái)。另外,多數(shù)手機(jī)應(yīng)用程序是用有平臺(tái)依賴(lài)性的API函數(shù)和庫(kù)編寫(xiě)的,而且編譯的方式也不同。由于最初手機(jī)硬件的限制,比如有限的CPU功能和內(nèi)存空間,多數(shù)手機(jī)只包含一個(gè)單一的應(yīng)用執(zhí)行平臺(tái)。但是,隨著手機(jī)硬件的發(fā)展,在手機(jī)中應(yīng)用復(fù)雜的軟件架構(gòu)也越來(lái)越容易,比如Android、Symbian OS、Windows Mobile等。

        為了在單個(gè)設(shè)備上運(yùn)行多重虛擬機(jī),每個(gè)虛擬機(jī)都必須是像一個(gè)擁有分層軟件模塊的可執(zhí)行目標(biāo)一樣可移植。另外考慮到手機(jī)設(shè)備的硬件資源有限的特征,為了減少程序執(zhí)行的時(shí)間,手機(jī)設(shè)備中的軟件系統(tǒng)必須是輕量級(jí)的。根據(jù)上面所述的需求,我們?cè)O(shè)計(jì)了一個(gè)基于L4微內(nèi)核的輕量級(jí)手機(jī)中間軟件。

        1 相關(guān)研究

        1.1 L4微內(nèi)核

        L4微內(nèi)核是德國(guó)科學(xué)家Jochen Liedtke設(shè)計(jì)的第二代微內(nèi)核中的一個(gè)族。它包含操作系統(tǒng)基本的服務(wù),如進(jìn)程控制、內(nèi)存管理和進(jìn)程間通信等。其進(jìn)程間通信功能優(yōu)于先前第一代微內(nèi)核。優(yōu)于其輕量級(jí)的體積和良好的性能,L4微內(nèi)核適用于在嵌入式平臺(tái)上實(shí)現(xiàn)虛級(jí)化。

        在基于L4微內(nèi)核的虛擬機(jī)系統(tǒng)架構(gòu)中,虛擬化的操作系統(tǒng)和設(shè)備驅(qū)動(dòng)分別作為一個(gè)服務(wù)進(jìn)程運(yùn)行在L4微內(nèi)核上面,從而實(shí)現(xiàn)了虛擬化的用戶(hù)操作系統(tǒng)內(nèi)核與其它用戶(hù)操作系統(tǒng)或設(shè)備驅(qū)動(dòng)之間的隔離。每個(gè)系統(tǒng)調(diào)用都被轉(zhuǎn)換成調(diào)用進(jìn)程和目標(biāo)服務(wù)間的進(jìn)程間通信(IPC)消息。基于微內(nèi)核架構(gòu)的虛擬機(jī)的系統(tǒng)結(jié)構(gòu)如圖1所示。

        圖1 基于微內(nèi)核架構(gòu)的虛擬機(jī)的系統(tǒng)結(jié)構(gòu)

        圖2 NICTA:Pistachio-embedded 系統(tǒng)架構(gòu)

        澳大利亞國(guó)家信息與通信技術(shù)中心(NICTA)的嵌入式實(shí)時(shí)操作系統(tǒng)研究小組以嵌入式系統(tǒng)為目標(biāo)對(duì)卡爾斯魯爾大學(xué)研發(fā)的L4Ka:Pistachio進(jìn)行了擴(kuò)展實(shí)現(xiàn)了一個(gè)嵌入式操作系統(tǒng)NICTA::Pistachio-embedded,其系統(tǒng)架構(gòu)如圖2所示。

        這個(gè)操作系統(tǒng)的內(nèi)核選用Iguana提供大多數(shù)系統(tǒng)都需要的基本服務(wù),如內(nèi)存管理和進(jìn)程調(diào)度。在Iguana上面運(yùn)行著一個(gè)完全虛擬化的用戶(hù)態(tài)Linux內(nèi)核Wombat。Wombat是高度輕量級(jí)的而且可以運(yùn)行在ARM等多種不同的硬件平臺(tái)上,它的性能和標(biāo)準(zhǔn)的Linux非常相近,甚至在一些性能指標(biāo)上超過(guò)了Linux。

        1.2 高通公司的MSM芯片架構(gòu)和L4微內(nèi)核

        美國(guó)高通公司把L4微內(nèi)核應(yīng)用到了他們最新研制的擁有雙CPU核(ARM9和ARM11)的MSM7000芯片上。在這個(gè)架構(gòu)中,為了提高移動(dòng)手持終端的處理性能和穩(wěn)定性,操作系統(tǒng)被劃分為應(yīng)用操作系統(tǒng)和通信操作系統(tǒng),且每個(gè)操作系統(tǒng)都運(yùn)行在自己獨(dú)立的CPU核上,這意味著系統(tǒng)同時(shí)在L4微內(nèi)核上加載了兩個(gè)操作系統(tǒng)。在應(yīng)用操作系統(tǒng)一端,可以加載提供應(yīng)用服務(wù)功能的Windows mobile或其它手機(jī)操作系統(tǒng),在通信操作系統(tǒng)一端加載提供通信服務(wù)功能的L4/Iguana的REX實(shí)時(shí)操作系統(tǒng)。

        1.3 傳統(tǒng)的移動(dòng)虛擬平臺(tái)

        Sun公司的J2ME平臺(tái)、高通公司的BREW(Binary Runtime Environment for Wireless)[3]和 韓 國(guó) TTA 公 司的 WIPI(Wireless Internet Platform for Inter-operability)[4]都是典型的支持動(dòng)態(tài)安裝應(yīng)用程序的移動(dòng)應(yīng)用平臺(tái),它們可以在手機(jī)硬件平臺(tái)上作為一個(gè)虛擬機(jī)運(yùn)行,為許多不同的手機(jī)硬件平臺(tái)提供通用的執(zhí)行環(huán)境。傳統(tǒng)的手機(jī)系統(tǒng)軟件架構(gòu)如圖3所示。

        圖3 傳統(tǒng)的手持設(shè)備軟件架構(gòu)圖

        圖4 總體系統(tǒng)架構(gòu)圖

        2 系統(tǒng)架構(gòu)

        我們提出的這種基于L4微內(nèi)核的輕量級(jí)可移植中間軟件可以在多種手機(jī)平臺(tái)上運(yùn)行應(yīng)用程序。

        2.1 總體系統(tǒng)架構(gòu)

        與前面講述的高通公司的最新軟件架構(gòu)不同,我們的系統(tǒng)運(yùn)行的目標(biāo)平臺(tái)是單處理器的嵌入式設(shè)備。在這個(gè)架構(gòu)中,有一個(gè)主控制操作系統(tǒng)或進(jìn)程運(yùn)行在L4微內(nèi)核上面,它把每個(gè)虛擬機(jī)都當(dāng)作一個(gè)應(yīng)用程序來(lái)執(zhí)行。它們之間依靠進(jìn)程間通信機(jī)制(IPC)實(shí)現(xiàn)通信,如圖4所示。

        2.2 支持多種虛擬機(jī)

        大多數(shù)應(yīng)用平臺(tái)有著相似的架構(gòu)和運(yùn)行方式,在這些平臺(tái)上運(yùn)行應(yīng)用程序時(shí),需要向應(yīng)用程序開(kāi)發(fā)者提供一套應(yīng)用程序接口(API),并把它們映射到系統(tǒng)的硬件抽象層。因此,我們?cè)O(shè)計(jì)一種在單個(gè)設(shè)備中同時(shí)支持多種虛擬機(jī)的通用硬件抽象層,就像第二部分提出的基于微內(nèi)核架構(gòu)的虛擬機(jī)的系統(tǒng)結(jié)構(gòu)一樣,每個(gè)虛擬機(jī)都作為一個(gè)服務(wù)運(yùn)行在我們的系統(tǒng)中,它可以獨(dú)立運(yùn)行并下載自己的應(yīng)用程序。

        2.3 通用的硬件抽象層

        大多數(shù)虛擬機(jī)都有各自支持的各種設(shè)備的硬件抽象層,同時(shí)又有相同的API函數(shù),所以每種合適不同硬件平臺(tái)的應(yīng)用程序代碼都是相似的。例如,BREW平臺(tái)中,在嵌入式文件系統(tǒng)中處理一個(gè)文件,BREW的應(yīng)用程序可以調(diào)用API函數(shù)IFILWEMGR_OpenFile()去調(diào)用在硬件抽象層中的函數(shù)OEMFS_Open()。同樣的,在WIPI平臺(tái)中,API函數(shù)MS_fsOpen()也為WIPI應(yīng)用程序開(kāi)發(fā)者提供調(diào)用相應(yīng)的硬件抽象層函數(shù)的功能。

        考慮到這些相似之處,為了支持系統(tǒng)頂層的應(yīng)用軟件層,我們?cè)O(shè)計(jì)了一個(gè)通用的硬件抽象層,它可以支持多種硬件平臺(tái),提供的服務(wù)由這些設(shè)備的具有代表性的功能組成。

        為了將這個(gè)通用硬件抽象層應(yīng)用到我們的手機(jī)中間軟件中,它必須符合下面3個(gè)需求:

        1)代碼輕量級(jí)。傳統(tǒng)上,大多數(shù)虛擬機(jī)需要它自己的硬件抽象層,其中實(shí)現(xiàn)一個(gè)接口函數(shù)就要數(shù)百行的代碼。我們提出的這個(gè)通用硬件抽象層架構(gòu)繼承了一般的可調(diào)用函數(shù),可以減少虛擬機(jī)的這些代碼;

        2)簡(jiǎn)單和靈活的移植性。由于我們封裝了一般的可調(diào)用函數(shù),在移植一個(gè)新的虛擬機(jī)時(shí),每個(gè)接口都可以被簡(jiǎn)化;

        3)可維護(hù)性和調(diào)試。在這個(gè)通用硬件抽象層架構(gòu)中,函數(shù)調(diào)用都被集中管理并被簡(jiǎn)化,這樣就可以減少對(duì)系統(tǒng)維護(hù)和調(diào)試的投入。

        3 原型實(shí)現(xiàn)

        1)主控制任務(wù)。它是一個(gè)守護(hù)進(jìn)程任務(wù),可以初始化和結(jié)束虛擬機(jī)。它同時(shí)用一個(gè)鏈表結(jié)構(gòu)記錄虛擬機(jī)運(yùn)行信息。用這個(gè)任務(wù)提供的方法,系統(tǒng)可以獲取虛擬機(jī)的一個(gè)句柄,用這個(gè)句柄可以控制虛擬機(jī),并可避免重復(fù)執(zhí)行虛擬機(jī);

        2)設(shè)備驅(qū)動(dòng)服務(wù)(DDS)。它適合于各個(gè)設(shè)備驅(qū)動(dòng),比如LCD顯示器、鍵盤(pán)、串行口和Flash驅(qū)動(dòng)。每個(gè)設(shè)備驅(qū)動(dòng)作為一個(gè)獨(dú)立的服務(wù)運(yùn)行,并在系統(tǒng)啟動(dòng)時(shí)被初始化。我們實(shí)現(xiàn)了四個(gè)設(shè)備驅(qū)動(dòng)服務(wù)(LCD、鍵盤(pán)、串行口和文件系統(tǒng)),其它設(shè)備驅(qū)動(dòng)如MSM6100芯片集中的射頻設(shè)備驅(qū)動(dòng)包含在高通公司的提供的函數(shù)庫(kù),并且在沒(méi)有得到證書(shū)的情況下是被禁止使用的;

        3)通用硬件抽象層服務(wù)(GPHAL)。是一個(gè)面向多種虛擬機(jī)的通用服務(wù)層,它可以為各種各樣的虛擬機(jī)提供具體的API。每個(gè)虛擬機(jī)可以調(diào)用GPHAL應(yīng)用程序接口去處理目標(biāo)設(shè)備驅(qū)動(dòng)。用這個(gè)層,可以減少為新建虛擬機(jī)調(diào)用抽象的API函數(shù)進(jìn)行的移植包修改工作。

        4 平臺(tái)應(yīng)用

        盡管我們提出的這種中間軟件是為擁有輕量級(jí)軟件架構(gòu)的手機(jī)系統(tǒng)設(shè)計(jì)的,不過(guò)它也可以適用于其它嵌入式設(shè)備。L4微內(nèi)核是一個(gè)帶有小TCB的輕量級(jí)內(nèi)核,包含我們的中間軟件層也只需要小于1M的存儲(chǔ)空間,它也可以嵌入到感測(cè)器設(shè)備或感測(cè)網(wǎng)絡(luò)中的一個(gè)感應(yīng)服務(wù)中。另外,我們的平臺(tái)有獨(dú)立的設(shè)備驅(qū)動(dòng)和通用硬件抽象層,可以為感測(cè)網(wǎng)絡(luò)提供了靈活的軟件執(zhí)行環(huán)境。

        5 結(jié)論

        本文提出一個(gè)一個(gè)基于L4微內(nèi)核的輕量級(jí)手機(jī)中間軟件,它可以為多種虛擬機(jī)提供運(yùn)行環(huán)境,并可以為在可移動(dòng)設(shè)備和感測(cè)系統(tǒng)中的各種虛擬機(jī)提供靈活的軟件架構(gòu)。利用這個(gè)中間軟件平臺(tái),為各種虛擬機(jī)開(kāi)發(fā)的應(yīng)用程序可以不加修改便可運(yùn)行在同一款手機(jī)上。因此,這個(gè)輕量級(jí)的手機(jī)中間軟件為各種智能手機(jī)提供獨(dú)立的應(yīng)用程序執(zhí)行環(huán)境,并且使應(yīng)用程序的移植和重用變得容易。

        [1]Ben Leslie,Carl Van Schaik and Gernot Heiser。Wombat:a portable user-mode Linux for embedded systems。 In Proceedings of the 6th Linux。Conf.Au,Canberra,April,2005.

        [2]Sun Microsystems。The Java ME Platform-Most Ubiquitous Application Platform for Mobile Devices.

        [3]Qualcomm Inc。BREWapiTM OEM Porting Guide for MSMTM Platforms,2003.

        [4]TTA,Wireless Internet Platform for Interoperability TTAS.KO06.0036/R3,2004,6.

        猜你喜歡
        應(yīng)用程序架構(gòu)驅(qū)動(dòng)
        基于FPGA的RNN硬件加速架構(gòu)
        基于模糊PI控制的驅(qū)動(dòng)防滑仿真系統(tǒng)分析
        功能架構(gòu)在電子電氣架構(gòu)開(kāi)發(fā)中的應(yīng)用和實(shí)踐
        屈宏斌:未來(lái)五年,雙輪驅(qū)動(dòng),砥礪前行
        軌旁ATC系統(tǒng)門(mén)控柜接收/驅(qū)動(dòng)板改造
        刪除Win10中自帶的應(yīng)用程序
        LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實(shí)現(xiàn)
        基于S3C6410的Wi-Fi驅(qū)動(dòng)移植實(shí)現(xiàn)
        一種基于FPGA+ARM架構(gòu)的μPMU實(shí)現(xiàn)
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        亚洲国产日韩欧美高清片a| 亚洲av无码一区二区三区鸳鸯影院| 国内精品久久久久影院薰衣草| 国产人妻久久精品二区三区| 亚洲成AⅤ人在线观看无码| 99亚洲乱人伦精品| 97成人精品在线视频| 色偷偷色噜噜狠狠网站30根 | 久久96日本精品久久久| 在线观看的网站| 国产一区二区不卡老阿姨| 91精品91| 国产精品后入内射日本在线观看| 亚洲欧洲日产国码av系列天堂| 看黄a大片日本真人视频直播| 精品一级毛片| 日韩av中文字幕亚洲天| 日本av一区二区三区在线| 亚洲日韩一区二区一无码| 免费一区二区三区久久| 自拍视频国产在线观看| 国产精品自拍盗摄自拍| 国产精品天干天干| 成人无码免费一区二区三区| 久久福利青草精品资源| 97久久久一区二区少妇| 亚洲综合国产成人丁香五月激情| 亚洲精品一区久久久久久| 国产精品亚洲一区二区杨幂| 亚洲国产精品成人一区| 国产精品18久久久白浆| 亚洲精品一区二区| 亚洲爆乳大丰满无码专区| 精品国产麻豆免费人成网站| 久久99精品久久久久麻豆| 中国国语毛片免费观看视频| 欧美成人www免费全部网站| 一区二区三区国产偷拍| 亚洲天堂精品成人影院| 亚洲熟女乱色综合亚洲av| 真实国产乱视频国语|