<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 基于CAR 構件技術(shù)的智能掌上設備操作系統

基于CAR 構件技術(shù)的智能掌上設備操作系統

作者: 時(shí)間:2008-12-10 來(lái)源:電子產(chǎn)品世界 收藏

  緒論

本文引用地址:http://dyxdggzs.com/article/90127.htm

  隨著(zhù)通訊技術(shù)和計算機技術(shù)的飛速進(jìn)步,以、為代表的近年來(lái)得到了迅猛的發(fā)展。不同于一般的嵌入式設備,如今的運算能力也愈來(lái)愈強大,功能也越來(lái)越完善,因此,出現了許多面向的操作系統,以便能夠更好地支持應用程序的運行。智能掌上設備操作系統的基本原理與傳統的操作系統基本一致,但是由于掌上設備具有特殊應用需求,所以它的設計又有許多獨特之處。智能掌上設備操作系統往往根據其功能,對系統進(jìn)行了最大程度的優(yōu)化,同時(shí)也采用了許多適合于移動(dòng)計算的新技術(shù),以便增強功能,提高性能。

  隨著(zhù)因特網(wǎng)時(shí)代的到來(lái),應用程序模型發(fā)生了很大的變化,于是提出來(lái)了基于軟件工廠(chǎng)的構件化編程模型,帶來(lái)了應用的多樣性以及生產(chǎn)力的提高。把構件技術(shù)應用在智能掌上設備操作系統中,給移動(dòng)計算的發(fā)展帶來(lái)了新的契機,迎合了軟件發(fā)展的方向。本文以構件技術(shù)為核心,分析了構件化的優(yōu)勢,闡述了由科泰世紀公司研究的一種典型的二進(jìn)制構件技術(shù)———CAR (Caref ree Application Run - Time) 構件技術(shù),結合基于該技術(shù)的國產(chǎn)嵌入式操作系統“和欣”,來(lái)對構件化的智能掌上設備操作系統進(jìn)行了詳細分析。

  智能掌上設備操作系統

  智能掌上設備是對具有較強運算能力的手持設備的統稱(chēng),主要包括了個(gè)人數字助理( ) , Smartphone () ,以及具有復雜功能的電子書(shū)、掌上游戲機等。早期的掌上設備功能比較單一,且少有聯(lián)網(wǎng)功能。但是微處理器的運算能力日益增強,無(wú)線(xiàn)通訊技術(shù)也發(fā)展神速,使得如今的掌上設備在提供強大運算能力的同時(shí),又提供了豐富的網(wǎng)絡(luò )功能。其中,是最為典型的智能掌上設備,它具有普通移動(dòng)電話(huà)的全部功能,同時(shí)又提供了 的功能,而且可以通過(guò)電信運營(yíng)商的無(wú)線(xiàn)網(wǎng)絡(luò ),實(shí)現電子郵件、上網(wǎng)瀏覽、網(wǎng)絡(luò )游戲等增值服務(wù),代表了智能掌上設備的發(fā)展方向。

  本文所講述的智能掌上設備以智能手機為主,默認已經(jīng)在硬件上支持了無(wú)線(xiàn)通訊功能。

  如今市面上也有不少面對智能掌上設備的操作系統產(chǎn)品。其中比較有名的有Palm Source 的Palm OS ,微軟的Windows Mobile 系列, Symbian公司的Symbian OS ,以及多種嵌入式Linux。PalmOS 廣泛應用在PDA 產(chǎn)品上面,如今也開(kāi)始向智能手機領(lǐng)域發(fā)展。Windows Mobile 的界面和操作非常接近PC 機使用的Windows 系統,使用方便,對用戶(hù)有很大的吸引力。Symbian OS 則是一個(gè)專(zhuān)門(mén)用在智能手機上的操作系統,功能強大,如今已運用在多款手機上面,變得非常成熟了。Linux 是一個(gè)開(kāi)放源代碼的操作系統,得到了許多廠(chǎng)商的支持。

  在這里以智能手機為例,對智能掌上設備的結構進(jìn)行初步分析。從主要的硬件上來(lái)講,智能手機分為兩個(gè)部分:通訊模塊和應用處理模塊。一般來(lái)說(shuō),這兩個(gè)模塊是相對獨立的,通訊模塊用來(lái)實(shí)現基本的通訊功能,智能手機作為一個(gè)手機主要就靠它來(lái)體現,它一般有一個(gè)獨立的 ,且具有獨立的通訊軟件,用來(lái)處理通信協(xié)議棧。應用處理模塊用來(lái)完成除基本通訊功能之外的各種功能,比如存儲管理、多媒體播放等等,也有一個(gè)自己的 ,相對于通訊模塊來(lái)說(shuō),它的 更加強勁一些。

  本文所提及的智能手機操作系統以及各種應用程序也就運行在這個(gè)CPU 上面。應用處理模塊和通訊模塊之間靠通訊控制模塊相連。結構示意圖如圖1 所示。


  CAR 構件技術(shù)

  構件技術(shù)

  隨著(zhù)軟件復雜度的與日俱增,傳統的把整個(gè)軟件的源程序拿來(lái)靜態(tài)編譯的方法顯然不適合了。在這個(gè)前提下, 產(chǎn)生了軟件拼裝模式,把軟件分成一個(gè)個(gè)相對獨立的目標代碼模塊, 稱(chēng)之為構件 。

  軟件開(kāi)發(fā)人員只需要做和自己相關(guān)的構件,編譯通過(guò),就能夠拿來(lái)和其他模塊組裝在一起使用了。通過(guò)裝卸實(shí)現某個(gè)功能的構件,就可以實(shí)現對系統的靈活升級。

  如今,已經(jīng)成熟且廣為使用的構件技術(shù)有微軟的COM(Component Object Model) ,OMG 組織的CORBA (Common Object Request Broker Architecture) 等等,用它們生成的構件都是基于二進(jìn)制目標代碼的?,F在大行其道的Java 和. NET ,雖然生成的程序都是基于中間代碼的,但也處處體現著(zhù)構件技術(shù)的思想。在本文中,所提及的構件都是指的二進(jìn)制構件。

  面向對象技術(shù)實(shí)現了軟件源代碼層次的復用,提高了軟件開(kāi)發(fā)人員的生產(chǎn)率。構件技術(shù)是對面向對象技術(shù)的深化,實(shí)現了二進(jìn)制層次上軟件的復用,進(jìn)一步提升了軟件開(kāi)發(fā)的效率。根據構件技術(shù),軟件系統可以拆分成相對獨立的構件,構件之間通過(guò)約定的接口進(jìn)行數據交換和信息傳遞。構件可以用不同的語(yǔ)言編寫(xiě),只要符合一組二進(jìn)制規范即可,這樣大大提高了開(kāi)發(fā)的靈活度。

  CAR 構件技術(shù)

  CAR(Caref ree Application Run - Time) 構件技術(shù)是面向構件編程的編程模型,它規定了一組構件間相互調用的標準,使得二進(jìn)制構件能夠自描述,能夠在運行時(shí)動(dòng)態(tài)鏈接。微軟的COM 技術(shù)是廣為應用的一種構件技術(shù), CAR 兼容微軟的COM。但是和微軟COM 相比,CAR 刪除了COM中過(guò)時(shí)的約定,禁止用戶(hù)定義COM 的非自描述接口;完備了構件及其接口的自描述功能,實(shí)現了對COM 的擴展;對COM 的用戶(hù)界面進(jìn)行了簡(jiǎn)化包裝,易學(xué)易用。

  CAR 技術(shù)能夠動(dòng)態(tài)加載構件,最大程度支持軟件的二進(jìn)制復用,進(jìn)行系統升級的時(shí)候也只需要升級相關(guān)的構件即可,具有可靠性、容錯性、安全性,代表了軟件工廠(chǎng)化生產(chǎn)的方向。

  CAR 技術(shù)采用C/ C + + 語(yǔ)言來(lái)編寫(xiě)構件,所以生成的構件直接是以目標平臺的二進(jìn)制代碼運行,相比J ava 、. NET 技術(shù)的中間代碼和虛擬機機制,在速度上占有明顯的優(yōu)勢,更適合系統級構件的編寫(xiě)以及嵌入式系統中的應用。

  “和欣”操作系統簡(jiǎn)介

  “和欣”(英文名為Elastos) 是科泰世紀公司研制的一個(gè)完全面向構件技術(shù)的操作系統,基于靈活內核,具有多進(jìn)程、多線(xiàn)程、搶占式、基于線(xiàn)程的多優(yōu)先級任務(wù)調度等特性。“和欣”里面集成了CAR構件運行環(huán)境,能對軟件構件進(jìn)行充分的支持,且已經(jīng)廣泛地用在各種嵌入式領(lǐng)域中,特別是智能手機等掌上設備領(lǐng)域之中。

  CAR 構件技術(shù)在智能掌上設備操作系統中的應用

  智能掌上設備對構件技術(shù)的需求

  智能掌上設備在擁有較強的運算功能的同時(shí),具有便攜性等特點(diǎn),通常為用戶(hù)隨身攜帶。隨著(zhù)技術(shù)的進(jìn)步,集成了許多功能的掌上設備逐步取代了那些功能單一的設備。在新的環(huán)境下,用戶(hù)往往要求掌上設備在保持便攜性的同時(shí)能夠帶來(lái)更多的功能。所以, 針對智能掌上設備提出了下面的要求:

  (1) 可以動(dòng)態(tài)加載應用程序。動(dòng)態(tài)加載應用程序是在因特網(wǎng)時(shí)代的需要,因為智能掌上設備的功能越來(lái)越多,不能像以前那樣由廠(chǎng)家把所有的功能都做好固定在里面,所以必須要求用戶(hù)能夠自己根據自己的興趣,有選擇地從網(wǎng)上下載應用程序。

  (2) 隨時(shí)和動(dòng)態(tài)地實(shí)現軟件升級。智能掌上設備的功能也是在不斷增強的,開(kāi)發(fā)商不必為了添加部分功能而重新發(fā)布整套軟件,只需要升級部分的功能即可。

  (3) 靈活的模塊結構,便于移植和裁減。因為掌上設備的配置可能差異非常之大,所以需要針對不同的硬件配置緊湊高效的系統,且添加和刪除功能模塊也要相當容易。

  如果在操作系統中采用構件技術(shù),能夠很好地解決上述問(wèn)題。特別地,利用CAR 構件技術(shù),把應用程序按模塊劃分做成一個(gè)個(gè)構件,能夠方便地實(shí)現網(wǎng)上下載,動(dòng)態(tài)加載,自動(dòng)升級,且具有結構靈活等特點(diǎn)。CAR 構件的設計初衷,就是面向消費類(lèi)電子市場(chǎng),且實(shí)現用戶(hù)零維護的功能,這點(diǎn)從它的名字就可以看出來(lái)。下文以“和欣”操作系統為例,講解了CAR 構件在智能掌上設備中的應用方案。

  智能掌上設備操作系統的結構

  為了能夠很好地支持構件技術(shù),需要在操作系統內部建立對構件技術(shù)的支持。在“和欣”中,采用了完全構件化的技術(shù)來(lái)搭建整個(gè)系統應用框架,從操作系統底層就開(kāi)始支持構件機制,對智能掌上設備來(lái)說(shuō),形成了一個(gè)靈活而高效的解決方案。

  圖2 描述的是一個(gè)采用GPRS 功能的智能手 機的軟件構成圖。其中智能手機操作系統直接控制的是圖2 右邊的應用模塊。從圖中可以看出,CAR 構件平臺運行在操作系統內核之上,一方面,它與內核聯(lián)系緊密,替內核接管了負責整個(gè)系統中應用程序運行的任務(wù);另一方面,它又是一個(gè)相對獨立的模塊,這樣能夠方便地進(jìn)行移植,讓更多的系統都能運行CAR 構件,保持著(zhù)CAR 構件的軟件平臺無(wú)關(guān)性。CAR 構件運行平臺支持系統級和應用級兩個(gè)層次的構件的運行。同時(shí),該系統也提供了一些函數庫,比如C 的庫函數,在一定程度上兼容以前編寫(xiě)的一些應用軟件。另外,如今的智能手機都支持豐富的JAVA 應用程序,所以該系統也提供了專(zhuān)門(mén)的構件來(lái)運行K- J ava 程序。

  圖2 左邊的通訊模塊是相對獨立的一部分,雖然不由操作系統直接控制,但是通過(guò)它提供的一組通訊協(xié)議,可以對它進(jìn)行全方位的操作。打電話(huà)、發(fā)短信、收發(fā)電子郵件,都是由相應的應用構件通過(guò)控制通訊模塊來(lái)完成的。從功能上來(lái)說(shuō),可以把GPRS 通訊模塊看成一個(gè)無(wú)線(xiàn)網(wǎng)卡,各個(gè)應用構件,就是通過(guò)這個(gè)無(wú)線(xiàn)網(wǎng)卡來(lái)實(shí)現網(wǎng)絡(luò )應用的。


  CAR 構件運行平臺

  在“和欣”中,就是由CAR 構件運行平臺來(lái)提供對構件運行的支持。它讓系統中的各種構件天衣無(wú)縫地搭配在一起,實(shí)現自己的功能,同時(shí)又針對掌上設備的硬件特點(diǎn)進(jìn)行了優(yōu)化,且提供給構件的是完全的二進(jìn)制運行環(huán)境,所以能夠保證系統的高效運行。

  每個(gè)構件只關(guān)心自己的功能實(shí)現,構件之間的相互聯(lián)系由約定的接口來(lái)實(shí)現 。對于同一個(gè)進(jìn)程內的構件,由于共享同一個(gè)地址空間,其方法可以直接調用。但是,對于不同進(jìn)程的構件,則必須通過(guò)代理構件來(lái)實(shí)現。代理構件由CAR 構件運行平臺動(dòng)態(tài)地生成,它可以看成是中間件的一個(gè)特例,既解決了跨進(jìn)程,甚至跨機器的構件通信和方法調用,而且還提供了許多有用的特性。代理構件能對構件的運行狀態(tài)進(jìn)行干預和控制,給系統提供了強大的安全保護機制,能對軟件的訪(fǎng)問(wèn)權限進(jìn)行有效地控制,對于加密、解密、防黑客、防病毒的設計提供了必要的條件,為信息系統的安全性提供了堅實(shí)的基礎。圖3 描述了CAR 構件運行平臺通過(guò)自動(dòng)生成代理構件來(lái)對實(shí)際的構件模塊進(jìn)行調用的模型。


  系統構件庫和應用構件庫

  有了CAR 構件平臺,還必須具有完善的構件庫,操作系統的功能才能真正發(fā)揮出來(lái)。根據實(shí)現的功能,一般把構件庫分為系統構件庫和應用構件庫兩大類(lèi)。系統構件庫與操作系統內核聯(lián)系緊密,提供一些通用的功能供應用程序調用,是應用程序的必要支持。應用構件庫里的構件與用戶(hù)直接進(jìn)行交互,用來(lái)實(shí)現智能掌上設備里的豐富的應用功能。

  “和欣”提供了一套全面的系統構件庫,這些構件庫在智能掌上設備中不可缺少,為各種應用構件的運行提供了完整的支持。該構件庫分為以下幾類(lèi):

  圖形系統構件庫:提供圖形用戶(hù)操作界面,因為用于掌上設備,所以是一套小巧、緊湊的圖形系統。

  設備驅動(dòng)構件庫:用于各種輸入輸出設備的驅動(dòng),主要包括LCD 顯示屏驅動(dòng)、觸摸屏驅動(dòng)、聲卡驅動(dòng)、攝像頭驅動(dòng)等等。

  文件系統構件庫: 提供對各種文件系統的支持,尤其是對采用最為廣泛的FAT 文件系統的支持。還提供了對FLASH 存儲器等掌上設備最常用的外存儲器的支持。

  網(wǎng)絡(luò )系統構件庫:用于對TCP/ IP 協(xié)議的網(wǎng)絡(luò )支持,針對無(wú)線(xiàn)網(wǎng)絡(luò )的特性,對協(xié)議進(jìn)行了優(yōu)化。同時(shí)提供了常用的網(wǎng)絡(luò )應用工具。

  CAR 構件對自動(dòng)下載運行機制的支持

  自動(dòng)下載運行機制是構件技術(shù)在智能掌上設備中的典型應用。在傳統的計算機中,往往要求事先把應用程序安裝在操作系統中,然后才能正常使用它。這種安裝機制比較繁瑣,而且那些對計算機的操作不是很熟練的人們,使用起來(lái)有一定的難度。智能掌上設備作為一種消費類(lèi)電子產(chǎn)品,面向的是更為普通的消費者,所以要求對它的操作更加簡(jiǎn)化??紤]到這一點(diǎn),方便地從網(wǎng)上獲取應用程序構件,無(wú)需安裝就自動(dòng)運行,就成了CAR 構件的一個(gè)重要特性。

  CAR 構件都提供了一個(gè)屬性uunm(UniversalUnique Name) ,用來(lái)標識構件在互聯(lián)網(wǎng)上的地址。uunm 是唯一存在的,所以每個(gè)構件都有一個(gè)唯一的互聯(lián)網(wǎng)地址。CAR 構件無(wú)需在應用程序啟動(dòng)的時(shí)候就裝載到內存之中,只有當用到它的時(shí)候,才會(huì )動(dòng)態(tài)加載。需要加載某個(gè)CAR 構件的時(shí)候,CAR 構件環(huán)境會(huì )得到這個(gè)構件的uunm。根據uunm ,就能從網(wǎng)上把這個(gè)構件下載下來(lái),然后開(kāi)始自動(dòng)運行。

  同時(shí),由于通過(guò)網(wǎng)絡(luò )進(jìn)行構件下載,按目前的網(wǎng)絡(luò )速度需要消耗一定的時(shí)間,所以自動(dòng)下載運行機制針對效率問(wèn)題進(jìn)行了優(yōu)化。對于下載的構件,系統會(huì )把它自動(dòng)放到本機的一個(gè)專(zhuān)用目錄當中,該目錄稱(chēng)作構件緩存。下一次裝載這個(gè)構件的時(shí)候,首先在構件緩存中進(jìn)行尋找,如果有的話(huà),就直接加載本機的這份拷貝,不用啟動(dòng)網(wǎng)絡(luò ),大大加快了運行的速度;如果沒(méi)有找到該構件,則通過(guò)uunm從網(wǎng)上下載。當緩存裝滿(mǎn)的時(shí)候,系統會(huì )根據一定的算法來(lái)清理其中的構件。

  CAR 構件的自動(dòng)下載運行機制,完全不用用戶(hù)干預而自動(dòng)執行,方便了用戶(hù)的使用。此外,通過(guò)在構件中加入相應的數字簽名機制,解決了自動(dòng)下載運行的安全性問(wèn)題。

  總結

  構件技術(shù)是今年來(lái)最為重要的軟件技術(shù)之一,促進(jìn)了軟件生產(chǎn)方式的飛躍,也帶來(lái)了軟件應用模型的重大變化。智能掌上設備作為后PC 時(shí)代的一個(gè)標志性嵌入式設備,完美地結合了計算機技術(shù)和無(wú)線(xiàn)通訊技術(shù),且普及程度越來(lái)越高。作為當今的構件技術(shù)的一個(gè)典型代表,CAR構件技術(shù)具有自動(dòng)運行下載等眾多優(yōu)勢,用在智能掌上設備操作系統之中,給用戶(hù)帶來(lái)了種種新特性,也給智能掌上設備的發(fā)展帶來(lái)了新的契機。



關(guān)鍵詞: 智能掌上設備 PDA 智能手機 CPU

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>