物聯(lián)傳媒 旗下網(wǎng)站
登錄 注冊

物聯(lián)網(wǎng)能否落地?可裁剪嵌入式OS成關鍵

作者: 潘少紅
來源:IT168
日期:2010-03-31 09:01:06
摘要: 隨著物聯(lián)網(wǎng)應用的普及,智能化、網(wǎng)絡化將會無所不在。隨著價格低廉、結(jié)構小巧的CPU和連接穩(wěn)定可靠的外設硬件大量使用,限制嵌入式系統(tǒng)發(fā)展的瓶頸就突出表現(xiàn)在軟件方面。因此,一旦嵌入式處理器和外圍硬件選定了,那么工作最多的就集中在嵌入式軟件的選擇和研發(fā),嵌入式軟件的嵌入式操作系統(tǒng)和應用軟件就成了重中之中。
  英特爾愿景中四個最具成長力的百億美元部門分別是消費電子、移動互聯(lián)網(wǎng)終端(MID)、上網(wǎng)本和嵌入式通訊,而其中最被看好、成長空間最大的是嵌入式通訊。英特爾為什么如此重視嵌入式通訊?原因是根據(jù)Intel的數(shù)據(jù)統(tǒng)計,目前世界上大概有20億個設備可接入互聯(lián)網(wǎng),而到2020年將有150億個設備可接入互聯(lián)網(wǎng)。 

  據(jù)國際電信聯(lián)盟(ITU)提出的一個設備互聯(lián)概念,可分成四個階段:第一個階段是大型機、主機;第二個階段是臺式機、筆記本跟互聯(lián)網(wǎng)相聯(lián);第三個階段是近年的新現(xiàn)象,手機聯(lián)上移動互聯(lián)網(wǎng);而第四個階段則是更多樣化的設備都可以聯(lián)網(wǎng),它們聯(lián)網(wǎng)以后會是一個新的嵌入式設備互聯(lián)網(wǎng)時代,也就是目前風靡一時的“物聯(lián)網(wǎng)”的概念。 

  一.物聯(lián)網(wǎng)概念已落地,核心技術有待突破 

  (1)什么是“物聯(lián)網(wǎng)”時代? 

  對于大多數(shù)人來說,物聯(lián)網(wǎng)是一個較為新鮮的概念。物聯(lián)網(wǎng)(The Internet of Thing),就是“物物相連的互聯(lián)網(wǎng)”。它是指通過射頻識別(RFID)、紅外感應器、全球定位系統(tǒng)、激光掃描器等信息傳感設備,把任何物品與互聯(lián)網(wǎng)連接起來,進行信息交換和通訊,以實現(xiàn)智能化識別、定位、跟蹤、監(jiān)控和管理的一種網(wǎng)絡。據(jù)美國咨詢機構FORRESTER預測,物聯(lián)網(wǎng)將會是繼計算機、互聯(lián)網(wǎng)與移動通信網(wǎng)之后的世界信息產(chǎn)業(yè)第四次浪潮。目前物聯(lián)網(wǎng)產(chǎn)業(yè)已被中國正式列為國家五大新興戰(zhàn)略性產(chǎn)業(yè)之一。 

  據(jù)有關資料介紹,發(fā)展物聯(lián)網(wǎng)的關鍵在于射頻標簽、傳感器、嵌入式系統(tǒng)及傳輸數(shù)據(jù)計算等領域。其中,嵌入式系統(tǒng)是以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適用于應用系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統(tǒng)。因此,嵌入式系統(tǒng)一般指非PC系統(tǒng),它包括硬件和軟件兩部分。硬件包括微處理器、存儲器及外設器件和I/O端口等。軟件部分包括操作系統(tǒng)軟件(OS)和應用程序,應用過程控制著系統(tǒng)的運作和行為,而操作系統(tǒng)控制著應用程序與硬件的交互作用。 

  (2)物聯(lián)網(wǎng)設備操作系統(tǒng)的特點 

  隨著物聯(lián)網(wǎng)應用的普及,智能化、網(wǎng)絡化將會無所不在。隨著價格低廉、結(jié)構小巧的CPU和連接穩(wěn)定可靠的外設硬件大量使用,限制嵌入式系統(tǒng)發(fā)展的瓶頸就突出表現(xiàn)在軟件方面。因此,一旦嵌入式處理器和外圍硬件選定了,那么工作最多的就集中在嵌入式軟件的選擇和研發(fā),嵌入式軟件的嵌入式操作系統(tǒng)和應用軟件就成了重中之中。而嵌入式操作系統(tǒng)是與應用環(huán)境密切相關的,因此物聯(lián)網(wǎng)設備需要的是一套高度簡練、界面友善、質(zhì)量可靠、易開發(fā)、多任務,并且價格低廉的操作系統(tǒng)。 

  在嵌入式軟件只中最核心的莫過于RTOS(Real Time Operating System,實時操作系統(tǒng))。所以,無論是嵌入式Linux、VxWorks系統(tǒng)或者Windows CE操作系統(tǒng),想要在物聯(lián)網(wǎng)嵌入式操作系統(tǒng)市場大展身手,首先必須是要強化可裁剪性。就是因為物聯(lián)網(wǎng)設備的硬件和軟件都必須要更高效率地設計,量體裁衣、去除冗余,力爭在小型設備上實現(xiàn)更高的性能,才能更具有競爭力。 

  二.為什么嵌入式系統(tǒng)關注可剪裁性? 

  嵌入式技術之所以能夠快速發(fā)展,一個重要的原因就是嵌入式技術具有技術可剪裁的靈活性。無論是軟件嵌入可剪裁還是硬件嵌入可剪裁,采用可剪裁技術都可以把復雜的系統(tǒng)設計變?yōu)楠毩⒛K的設計。但也正因為可剪裁技術的飛速發(fā)展,使得現(xiàn)有嵌入式系統(tǒng)設計平臺面臨著各種不同的挑戰(zhàn)。 

  (1)量體裁衣,輕松應對設備軟件的特殊挑戰(zhàn) 

  一般來說,軟件與硬件必須相輔相成的。但對于服務器、桌面或者筆記本PC來說,軟件與硬件的協(xié)調(diào)是比較容易做到的,因為這些設備的硬件環(huán)境都是標準化的;而對于物聯(lián)網(wǎng)設備來說,硬件環(huán)境則是千差萬別的,因此也造成了軟件環(huán)境的千差萬別。因此,物聯(lián)網(wǎng)嵌入式系統(tǒng)被描述為:以應用為中心、軟件硬件可裁剪的、適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗等嚴格綜合性需要的專用電腦系統(tǒng)。它由嵌入式硬件和嵌入式軟件兩部分組成。嵌入式操作系統(tǒng)位于硬件和應用軟件之間,為上層應用提供基礎服務,是嵌入式系統(tǒng)的核心和靈魂。 

  例如,從硬件環(huán)境來看,桌面操作系統(tǒng)具有標準化的CPU、存儲和I/O架構,而嵌入式環(huán)境中的RTOS硬件環(huán)境只有標準化的CPU,沒有標準化的存儲、I/O和顯示器架構,因此許多模塊在特定的硬件中并不會用到。從應用環(huán)境來看,桌面操作系統(tǒng)面向復雜多變的應用,而RTOS面向單一設備的單一應用,操作系統(tǒng)中的許多部件因此可以裁剪掉,以便節(jié)省內(nèi)存,在降低成本的同時提高可靠性。因此,考慮到物聯(lián)網(wǎng)設備的多樣性,為適應不同的要求,無論在硬件方面還是在軟件方面,嵌入式系統(tǒng)必須具有很強的可裁剪性,并且便于修改。 

  (2)什么是操作系統(tǒng)的可裁剪性? 

  由于物聯(lián)網(wǎng)設備目標系統(tǒng)的多樣性,致使在設計中經(jīng)常出現(xiàn)需要通過裁剪來獲得一個滿意的操作系統(tǒng)。因為可裁剪性帶給用戶的一個最直接的好處是硬件成本降低,這對于成本敏感的應用具有重要的現(xiàn)實意義。由于設備中只包含應用程序用到的那部分操作系統(tǒng)功能,這就使得系統(tǒng)變得簡單、易把握,從而提高系統(tǒng)的可靠性。但有人認為,嵌入式開發(fā)者如果擁有了軟件的源代碼,就可以按照自己的需求對其進行任意裁剪,就等于擁有了可裁剪性,這是一個很大的誤解。刪掉部分源代碼之后,將會給整個系統(tǒng)帶來什么影響,這是很難預估的,也可能會給系統(tǒng)的可靠性帶來極大的隱患。所以如果一個軟件平臺只能依靠手工的方式去掉一些源代碼,這根本就不是可裁剪性。 

  因此,操作系統(tǒng)的可裁剪性是指一個規(guī)模大且功能齊全的操作系統(tǒng),在結(jié)構上保證了用戶可在其中有選擇地保留某些模塊,而刪減掉一些模塊的性能。簡單的說,是指以優(yōu)秀的模塊化設計為基礎,隨時利用軟件配置方法實現(xiàn)軟件構件的“即插即用”。因此,操作系統(tǒng)的可裁剪性也常被叫做操作系統(tǒng)的可配置性。配置方法一般有兩種:一種是在系統(tǒng)進行編譯連接時進行配置;另一種是在系統(tǒng)運行時進行配置。 

  在編譯連接時的配置方法一般都是通過條件編譯來實現(xiàn)的,即在操作系統(tǒng)中都有一個配置文件,在這個文件中系統(tǒng)的設計者可通過對一些配置常數(shù)的設置來選擇使用或不使用的模塊。也就是說,在對系統(tǒng)編譯連接時,編譯系統(tǒng)會按配置常數(shù)的設置值對與之對應的模塊進行編譯或不編譯;那些不被編譯的模塊就自然地不包含在系統(tǒng)中而被刪掉了,這樣可以大大減小系統(tǒng)所占用的內(nèi)存。條件編譯是實現(xiàn)系統(tǒng)裁剪的有效手段,但這需要一個前提條件,即用戶要獲得待裁剪的操作系統(tǒng)的源代碼。 

  在運行時對系統(tǒng)進行配置,是指依靠系統(tǒng)在初始化運行階段執(zhí)行一些條件轉(zhuǎn)移語句來實現(xiàn)的。只不過這些條件語句是根據(jù)事先由目標系統(tǒng)開發(fā)人員編寫的配置文件中的一些參數(shù)來跳轉(zhuǎn)的。這樣就可實現(xiàn)了系統(tǒng)功能上的裁剪,但不是物理上的裁剪。也就是說,被裁剪的模塊的代碼仍然還存在,只不過未被執(zhí)行。所以,這種方法不能減少系統(tǒng)所占用的內(nèi)存,只是使運行速度有某種程度的提高。但這種裁剪方法的優(yōu)點是,目標系統(tǒng)開發(fā)人員可以沒有源代碼,并且操作起來很方便,因此是商品軟件經(jīng)常采用的方法。 



  三.主流嵌入式操作系統(tǒng)可剪裁性的比較 

  物聯(lián)網(wǎng)嵌入式操作系統(tǒng) EOS(Embedded Operating System)并不是簡單嵌入的操作系統(tǒng),它除了具有通用操作系統(tǒng)的基本特點外,在小巧、可裝卸等方面必須要有突出的特點。作為在嵌入式操作系統(tǒng)市場上通用的三種系統(tǒng):Linux、VxWorks、Windows CE在可剪裁性方面有自己的特點。下面在這里對這幾種系統(tǒng)的特點做一一分析。 

  (1)VxWorks操作系統(tǒng) 

  VxWorks操作系統(tǒng)是風河公司開發(fā)的一種嵌入式實時操作系統(tǒng)。VxWorks的可裁剪性特點是開發(fā)者可以根據(jù)自己應用程序的需要來選擇操作系統(tǒng)中的部件,用戶沒用到的功能模塊都可以去掉。VxWorks之所以具有良好的可裁剪性和可擴展性,是因為 VxWorks采用了精心設計的三層結(jié)構:最小內(nèi)核、基本內(nèi)核和基本操作系統(tǒng),以簡潔的微內(nèi)核作為最底層,逐層擴展到完整的VxWorks配置。 

  隨著層次的上升,相應配置所支持的功能逐漸復雜多樣,這些配置工作可以采用風河公司W(wǎng)orkbench或者vxpri實現(xiàn)。其原因是VxWorks的設計是以構件和參數(shù)的形式進行的,只是其中的構件都是以預先編譯庫的形式存在,通過符號參照表與系統(tǒng)連接起來。例如,VxWorks允許軟件開發(fā)人員剔除操作系統(tǒng)中當前應用軟件不會用到的部分,甚至可以用其它第三方的模塊來取代操作系統(tǒng)中的某個模塊。除了部件和部件捆綁,VxWorks中還有“Profile”可以用來對VxWorks進行配置,這是一個重要的特色。Profile提供了一種便捷的方式,來構成操作系統(tǒng)的不同配置基礎,以便適應不同的物聯(lián)網(wǎng)設備產(chǎn)品開發(fā)。 

  (2)Windows CE系統(tǒng) 

  Windows CE是微軟開發(fā)的一個緊湊的、高效和可擴展的操作系統(tǒng)。WinCE的可剪裁特點是利用模塊化設計方法。Wince的模塊化設計使得它能夠在大量的平臺上定制使用,開發(fā)者可以使用滿足平臺系統(tǒng)需求的最小軟件模塊和組件集合來設計嵌入式系統(tǒng)平臺,從而使內(nèi)存用量最小并最大可能地提供操作系統(tǒng)的性能。它的模塊化設計允許開發(fā)者對設備進行定制。但從技術角度上講,Windows CE作為嵌入式操作系統(tǒng)有很多的缺陷:沒有開放源代碼,使應用開發(fā)人員很難實現(xiàn)產(chǎn)品的真正定制;在效率、功耗方面的表現(xiàn)并不出色,而且和Windows一樣占用過多的系統(tǒng)內(nèi)存。另外,版權許可費也是廠商不得不考慮的因素。 

  (3)嵌入式Linux系統(tǒng) 

  Linux是 Unix操作系統(tǒng)的克隆,遵循 GPL聲明可以自由修改和傳播,是一個自由的操作系統(tǒng)。因此,Linux能在嵌入式系統(tǒng)方面大放光芒,這與 Linux具有良好的內(nèi)核可剪裁開源特性是分不開的。例如,Linux在內(nèi)核結(jié)構的設計中就考慮適應系統(tǒng)的可裁減性的要求,而Windows CE在內(nèi)核結(jié)構的設計中并未考慮適應系統(tǒng)的高度可裁減性的要求。加上Linux源代碼是公開的,它讓你能夠深入到系統(tǒng)底層,可以任意修改以滿足自己的應用,并且查錯也很容易,如果你愿意并且有這個能力的話。這為開發(fā)者編寫和剪裁屬于自己專有硬件的程序帶來很大的方便。 

  但在運行 Linux時的一個缺點是Linux體系提供實時性能時需要添加實時軟件模塊,而這些模塊運行的內(nèi)核空間正是操作系統(tǒng)實現(xiàn)調(diào)度策略、硬件中斷異常和執(zhí)行程序的部分。由于這些實時軟件模塊是在內(nèi)核空間運行的,因此代碼錯誤可能會破壞操作系統(tǒng)從而影響整個系統(tǒng)的可靠性,這對于物聯(lián)網(wǎng)嵌入式設備在可剪裁應用時將是一個非常嚴重的弱點。