《嵌入式操作系統史話》之一:何為嵌入式操作系統? 什么是嵌入式操作系統 談論嵌入式操作系統的定義之前,應該先討論一下關于嵌入式系統的定義。國內外專家學者和企業界人士的理解都不盡相同,具有代表性的意見有兩種;一種是說嵌入式系統就是嵌入式的計算機系統,另外一種認為嵌入式系統是一種機電結合、軟硬結合執行某種特殊功能的系統[1]。這兩種意見各有側重,前者主要來自計算機領域,后者來自電子信息領域。我認為隨著未來智能技術的廣泛采用,兩種觀點將會統一,也就是說未來機電整合的系統都將是智能(有計算機系統的存在)。那么所有可用于嵌入式系統的操作系統(OS)都可以稱為嵌入式操作系統(以后簡稱為嵌入式OS),既然它是一個OS,那就必須具備OS的能力-設備、任務(進程)、文件和網絡等管理功能。嵌入式OS要支持嵌入式系統廣泛性的需求,它一定要具備諸如;實時性、擴展性、可靠性、可裁剪和固化(嵌入)等特點。這里就不一一細說。 嵌入式OS有哪些產品 20世紀70年代末,嵌入式OS商業產品已在美國和加拿大等國家出現,90年代末嵌入式OS的數量呈現井噴式增加,最鼎盛的時候有數百種之多,即使經過經過30多年的發展和淘汰,現在依然有數十余種。但是真正在市場上具有影響力,有一定的客戶數量和成功的應用產品的嵌入式OS并不是很多,常見的有:PalmOS、Symbian、eCos、uCOS-II和III、VxWorks、pSOS、Nucleus、ThreadX、Rtems、QNX、INTEGRITY、OSE、CExecutive 、CMX、SMX、emOS、Chrous、VRTX 、RTX、FreeRTOS、LynxOS、ITRON、RT-thread和Linux家族的各種版本比如uClinux、Android和Meego等,還有微軟家族的WinCE、WindowsEmbedded Stanard、WindowsMobile等[2]。其中有些產品已經因為公司的收購而消失,比如Psos、VRTX和Chrous等,還有的開源嵌入式OS因為缺少維護而逐漸放棄,比如eCos和Meego等, 關于這些OS的情況,我后面的文章還會有更多的介紹。 嵌入式OS的分類 通用的OS我們可以按照應用分成桌面和服務器兩種版本,對嵌入式OS分類卻是一件很困難的事情,原因是什么呢,因為嵌入式系統沒有一個標準的平臺。從特性看嵌入式OS可分為硬實時和軟實時,從商業模式看分為開源和閉源(私有),從應用角度看分為通用的嵌入式OS和專用的嵌入式OS。比如VxWork就是硬實時、私有和專用的OS,而嵌入式Linux就是軟實時、開源和通用OS,硬實時的嵌入式OS,我們一般是稱為RTOS(實時多任務操作系統),歷史上某些RTOS不是嵌入式OS,比如某些實時的Unix,它是運行在小型和微型計算機系統,今天多數類似的產品都已經發展成嵌入式OS,即可以運行在嵌入式系統上,一般稱之為嵌入式實時多任務操作系統。 嵌入式OS的應用 可以說哪里有嵌入式的應用,哪里就有嵌入式OS的蹤影。今天的嵌入式應用已經無處不在,嵌入式OS更是隨處可見。但是必須強調,嵌入式OS對于系統的處理器和其他資源均有一定要求和占有,商業嵌入式OS要收取一定的開發和使用費用,即使是開源的嵌入式OS,你在開發中也或許要向商業公司購買技術服務費用。這些將導致最終的電子產品成本的增加 ,因此并不是所有的嵌入式應用都需要使用OS。 哪些應用適合也必須使用嵌入式OS呢,以下的是市場上一些熱點應用: 無線通訊產品:比如手機、基站和無線交換機等無線通信設備大量使用嵌入式OS和中間件(通信協議等)[3]。 網絡產品:比如路由器、交換機、接入設備和信息安全產品等大量使用RTOS和開源的LinuxOS。 智能家電:比如智能電視、IP機頂盒、互聯網冰箱等產品大量使用包括Android在內的嵌入式OS。 航空航天和軍事裝備:包括飛機、宇航器、艦船和武器裝備等都在使用經過認證的RTOS,這個領域也是嵌入式OS最早開發的市場之一。 物聯網產業和技術:物聯網和云計算是IT產業技術發展的兩大推手。其中物聯網技術和產業的發展都嵌入式系統和嵌入式OS的影響更大,需要嵌入式OS支持更加優秀的低功耗和無線網絡技術,隨著產業發展和成熟,需求會越來越大。 結語 嵌入式OS是源自計算機專業的一種技術,但因其嵌入在一個復雜的電子系統之中,而且應用千變萬化,所以其具有根深蒂固特殊性和多樣性。我撰寫的這組系列文章,試圖從歷史演變的視角幫助關注嵌入式系統發展和應用的讀者了解嵌入式OS的過去、今天與未來,推動中國電子信息產業在嵌入式技術引領下的轉型和創新。 |