在討論開源的嵌入式操作系統(tǒng)(簡(jiǎn)稱嵌入式OS)之前,我們先把開源軟件搞清楚?!伴_源軟件”目前并沒有明確定義,也沒有標(biāo)準(zhǔn)許可證。許多公司采用開放源代碼一詞,大概有這樣兩種情況。第一,開源軟件的許可條款是一個(gè)組合條款,并不都是GPL。比如Android里面就有多種許可證(GPL、Apache和BSD)[1]。我們知道Linux 內(nèi)核是采用GPL,用戶任何修改必須開源給社區(qū)。Android 的許可可以讓用戶為自己的應(yīng)用制作專用軟件(遵循Apache和BSD許可)。第二,一些商業(yè)軟件稱自己是開源軟件,其實(shí)它們只是開放源代碼給用戶或者大眾,讓大家免費(fèi)評(píng)估和試用,如果你真正的使用在商業(yè)項(xiàng)目了,需要技術(shù)服務(wù)了,那對(duì)不起,他們要收費(fèi)了。這樣的開源軟件不屬于我們本篇討論的范圍。
Linux
由Linus Torvalds在1991年發(fā)表的Linux開放操作系統(tǒng),是由在互聯(lián)網(wǎng)上的志愿者們開發(fā)的,吸引了許許多多忠實(shí)的追隨者,自1999年穩(wěn)定的2.2 版本發(fā)布以來,Linux早已經(jīng)在服務(wù)器和臺(tái)式機(jī)上取得了巨大的成功,正在嵌入式系統(tǒng)中大放異彩。許多人認(rèn)為Linux可以獲得在嵌入式市場(chǎng)上的認(rèn)可,真正的關(guān)鍵的原因是得益于Linux高質(zhì)量和其生命力,當(dāng)然可以給Linux開發(fā)人員提供了靈活性和開放源碼選擇,不收取運(yùn)行時(shí)許可使用費(fèi)也是開發(fā)者選擇Linux的理由。與商業(yè)軟件授權(quán)方式不同的是,開發(fā)者可以自由修改的Linux,以滿足他們的應(yīng)用需要。在技術(shù)上,因?yàn)榛赨NIX技術(shù),Linux提供廣泛的功能強(qiáng)大的操作系統(tǒng)功能,包括內(nèi)存保護(hù)、進(jìn)程和線程,以及豐富的網(wǎng)絡(luò)協(xié)議,Linux與POSIX標(biāo)準(zhǔn)兼容,從而提高了應(yīng)用的可移植性。Linux支持多種微處理器,總線架構(gòu)和設(shè)備,通常情況下,芯片公司的驅(qū)動(dòng)程序,應(yīng)用相關(guān)的中間件,工具和應(yīng)用程序都是先為Linux開發(fā)的,后來移植到其他OS平臺(tái),這些特性都非常適合于嵌入式系統(tǒng)應(yīng)用。
Montavista Linux
談到嵌入式Linux,MontaVista是一定要提到的,它對(duì)于Linux在嵌入式系統(tǒng)商業(yè)應(yīng)用起到重要的作用,MontaVista創(chuàng)始人和首席執(zhí)行官正是第3篇里面講到的Jim Ready,他是公認(rèn)的商業(yè)操作系統(tǒng)的先驅(qū),有超過25年在嵌入式軟件行業(yè)的經(jīng)驗(yàn)。當(dāng)他還在Ready System時(shí)候,他就關(guān)注Linux的發(fā)展,93年他曾下載過0.98版本Linux并嘗試運(yùn)行起來,他預(yù)見到Linux將成為未來影響嵌入式市場(chǎng)的一個(gè)重要因素。1999年在Alloy創(chuàng)業(yè)投資公司的支持下,Jim開始建立一個(gè)嵌入式Linux軟件工程師的公司,目標(biāo)是開發(fā)一個(gè)嵌入式Linux 軟件平臺(tái),也就是Hard Hat Linux。如圖1戴帽子的企鵝的宣傳畫。2001年Hard Hat Linux 2.0 版本發(fā)布之后,在Red hat(紅帽)公司一再要求下,產(chǎn)品改名為Montavista Linux,之后陸續(xù)發(fā)布了2.1/3.0/3.1/4.0和后來5.0 版本。從技術(shù)上看,Montavista Linux不只是一個(gè)通用的Linux發(fā)行版,它更是為嵌入式系統(tǒng)所需的可靠性和實(shí)時(shí)性(通過對(duì)2.4內(nèi)核加入實(shí)時(shí)補(bǔ)?。┒脑O(shè)計(jì),支持高端嵌入式系統(tǒng)使用的處理器架構(gòu)x86、ARM、PowerPC 和MIPS 、一系列的驅(qū)動(dòng)程序和板級(jí)支持包。它有一整套的開發(fā)工具,閃存和固態(tài)存儲(chǔ)文件系統(tǒng),還有可以很容易地監(jiān)視系統(tǒng)的完整性和性能的各種工具[2]。
圖1: Hard hat Linux戴帽子企鵝的宣傳畫
Montavista創(chuàng)建以后的10年間,借助開源軟件之勢(shì),迅速發(fā)展,并成功的將其Montavista Linux應(yīng)用在通信基礎(chǔ)設(shè)備,智能手機(jī),數(shù)字電視機(jī)和機(jī)頂盒等各種嵌入式系統(tǒng)中,國際頂級(jí)的設(shè)備制造商紛紛采用它的技術(shù)和產(chǎn)品,比如NEC、Motorola和三星電子。Montavista Linux 的出現(xiàn)對(duì)于傳統(tǒng)的商業(yè)RTOS 是很大的沖擊,客戶逐漸認(rèn)識(shí)到開源軟件的價(jià)值,紛紛轉(zhuǎn)向開源,遵循開源規(guī)則的Montavista就是最好的選擇之一,雖然期間也有幾個(gè)競(jìng)爭(zhēng)對(duì)手,比如1995年在匹斯堡成立的timesys,雖然也有著不錯(cuò)的產(chǎn)品,但是畢竟遠(yuǎn)離硅谷又不熟悉嵌入式軟件運(yùn)作模式,所以沒有形成對(duì)Montavista 威脅,真正的威脅還是傳統(tǒng)的RTOS巨頭,當(dāng)他們認(rèn)識(shí)到開源軟件潮流已經(jīng)到來的時(shí)候,市場(chǎng)的競(jìng)爭(zhēng)才真正到來了。經(jīng)歷幾輪的風(fēng)險(xiǎn)投資,Montavista 沒有能夠?qū)崿F(xiàn)盈利預(yù)期,再經(jīng)過2008年金融危機(jī)的沖擊,2009年Montavista被半導(dǎo)體公司Cavium收購。
Red Hat的eCos
eCos全稱是Embedded Configurable Operating System,它出生于1997年,可以說是嵌入式領(lǐng)域的一個(gè)后來者,相對(duì)其他的系統(tǒng)來說,它非常年輕,在設(shè)計(jì)理念上面是比較新穎的,eCos絕大多數(shù)代碼使用C++寫作完成。eCos最早是Cygnus公司開發(fā)(該公司成立于1989年,大家一定知道Cygwin吧,就是他們開發(fā)的),1999年被RedHat收購,2002年RedHat因?yàn)樨?cái)務(wù)上的原因放棄了RedHat項(xiàng)目,解雇了eCos的開發(fā)人員,2004年在eCos開發(fā)者的呼吁下,RedHat 同意把eCos版權(quán)轉(zhuǎn)給開源軟件基金會(huì)。之后,eCos主要開發(fā)人員組建了一個(gè)新的eCosCentric公司,繼續(xù)進(jìn)行eCos的開發(fā)和技術(shù)支持。
eCos 最大的特點(diǎn)是模塊化,內(nèi)核可配置。如果說嵌入式Linux太龐大了,那么eCos可能就能夠滿足你的要求。它是一個(gè)針對(duì)16/32/64位處理器的可移植開放源代碼的嵌入式RTOS。和Linux不同,它是由專門設(shè)計(jì)嵌入式系統(tǒng)的工程師設(shè)計(jì)的。eCos提供的Linux兼容的API能讓開發(fā)人員輕松的將Linux應(yīng)用移植到eCos。 eCos 的核心具備一般OS功能,如驅(qū)動(dòng)和內(nèi)存管理、異常和中斷處理、線程的支持,還具備RTOS的特點(diǎn),如可搶占、最小中斷延遲、線程同步等。eCos支持大量外設(shè)、通訊協(xié)議和中間件,比如以太網(wǎng)、USB、 IPv4/IPv6、SNMP、HTTP等。
eCos的專利受eCos 許可證所保護(hù),這是一個(gè)GPL 許可證的修改版,其準(zhǔn)許開發(fā)者在其上開發(fā)的應(yīng)用程序(即eCos 以外自行撰寫的部分)可以不用跟著GPL 一起發(fā)布。應(yīng)用程序開發(fā)者可免費(fèi)的取得其完整的源碼,并針對(duì)其作任意的修改與在其上開發(fā)自己的應(yīng)用程序并發(fā)布,唯一的限制只是若有修改到eCos 本身,其需將修改的源碼回報(bào)給eCos 開發(fā)小組。當(dāng)開發(fā)者將其當(dāng)為產(chǎn)品時(shí),也不需支付版稅。
許多公司都在使用eCos,并先后成功推出了使用eCos的嵌入式產(chǎn)品,比如
Brother網(wǎng)絡(luò)彩色激光打印機(jī)、DelphiCommuiport車載信息處理系統(tǒng)、IomegaHipZip數(shù)字音頻播放器、Ikendi指紋識(shí)別系統(tǒng)、3Glab移動(dòng)電話、GPS衛(wèi)星地面設(shè)備等。[3、4]
Android
Android是谷歌公司開發(fā)的針對(duì)高端智能手機(jī)的一個(gè)操作系統(tǒng)(OS),其實(shí)Android不僅僅是一個(gè)OS,也是一個(gè)軟件平臺(tái),可以應(yīng)用在更加廣泛的設(shè)備中。在實(shí)際應(yīng)用中,Android是一個(gè)在Linux上的應(yīng)用架構(gòu),優(yōu)勢(shì)是能夠幫助開發(fā)者快速地布置應(yīng)用軟件。Android成功的關(guān)鍵是它的授權(quán)方式,它是一個(gè)開源軟件,主要的源代碼的授權(quán)方式是Apache,該授權(quán)允許使用者在Android源代碼上增加自己的知識(shí)產(chǎn)權(quán),而不一定要公開源代碼。
直到今天,Android 的開發(fā)主要還是集中在移動(dòng)終端上,這是谷歌的主要目標(biāo)市場(chǎng),相關(guān)軟件IP和開發(fā)工具也都是針對(duì)這個(gè)市場(chǎng)設(shè)計(jì)和配置的,在這個(gè)市場(chǎng)上Android已經(jīng)成為智能手機(jī)市場(chǎng)占有率最大的OS。在其他的市場(chǎng)上Android也的潛力巨大,一般來說,任何有復(fù)雜的軟件需求的地方,一個(gè)封裝好的有連接和用戶界面的設(shè)備,比如車載信息系統(tǒng)(IVT),智能電視,Android 都會(huì)有用武之地。消費(fèi)電子,通信,汽車電子,醫(yī)療儀器和智能家居應(yīng)用都是Android 潛在的應(yīng)用目標(biāo),但是Android 要從移動(dòng)終端應(yīng)用真正的走出來,確實(shí)很有挑戰(zhàn)[5],目前我們看到的是在平板電腦和智能電視上Android 有不錯(cuò)的表現(xiàn),基于Android 照相機(jī)、智能手表和電視盒已經(jīng)出現(xiàn),更多的應(yīng)用也在開發(fā)之中。 見圖2 。
????
圖2:各種基于Android 非手機(jī)的產(chǎn)品
結(jié)語
除了上面介紹的Linux、Montavista、eCos、Android這些開源OS已經(jīng)在嵌入式系統(tǒng)中大量使用外,還有在軍事工業(yè)和航空航天上應(yīng)用的RTEM[6],來自日本基于ITRON技術(shù)規(guī)范的Toppers,二者都基于GPL 許可證。Toppers還要求如果應(yīng)用已經(jīng)嵌入到設(shè)備里,需要報(bào)告給Toppers協(xié)會(huì)[7]。此外現(xiàn)在可以看到的商業(yè)嵌入式Linux 還有Windriver Linux、Enea Linux等產(chǎn)品。開源嵌入式OS有一些開源社區(qū)和組織,他們對(duì)于開源軟件在嵌入式系統(tǒng)的發(fā)展和應(yīng)用起到重要的作用, 目前比較活躍的有Linaro,它是由ARM、飛思卡爾、三星等公司合資成立的,致力于為ARM架構(gòu)開發(fā)開源軟件的非盈利性組織[8]。GENIVI聯(lián)盟已經(jīng)在全球擁有170家成員,它通過提出一個(gè)基于開源 Linux平臺(tái),希望改變車載信息娛樂軟件的開發(fā)和使用方式[9、10]。關(guān)于GENIVI我們?cè)诤竺嬗嘘P(guān)汽車電子的嵌入式OS文章中還會(huì)談到。
參考資料:
[1]何小慶,Linux和Android:哪個(gè)是你下一個(gè)設(shè)計(jì)的正確選擇?http://wlkxw.cn/allenhe/blog/13-03/292378_84176.html
[2] https://www.mvista.com/
[3] https://www.rtems.net/Documnet/eCosIntro.htm? eCos 簡(jiǎn)介
[4]Anthony Massa 著 顏若麟等譯《嵌入式可配置實(shí)時(shí)操作系統(tǒng)eCos軟件開發(fā)》北京航空航天大學(xué)出版社。
[5]Colin Wall 著 何小慶等譯《嵌入式軟件開發(fā)精解》機(jī)械工業(yè)出版社
[6]https://www.rtems.org/
[7]https://www.toppers.jp/cn/index.html
[8] https://www.linaro.org/
[9] https://www.genivi.org/
[10] 明導(dǎo):GENIVI聯(lián)盟保持開源車載信息娛樂開發(fā)的領(lǐng)導(dǎo)地位https://www.prnasia.com/story/archive/prna_086_1306316_1
與非網(wǎng)原創(chuàng)內(nèi)容,未經(jīng)許可,不得轉(zhuǎn)載
?
摘要:對(duì)嵌入式操作系統(tǒng)的定義,國內(nèi)外專家學(xué)者和企業(yè)界人士的理解都不盡相同,具有代表性的意見有兩種;一種是說嵌入式系統(tǒng)就是嵌入式的計(jì)算機(jī)系統(tǒng),另外一種認(rèn)為嵌入式系統(tǒng)是一種機(jī)電結(jié)合、軟硬結(jié)合執(zhí)行某種特殊功能的系統(tǒng)……
摘要:摩托羅拉自1974年發(fā)布第一款MC6800 --8位微處理器到1979發(fā)布的MC68000(簡(jiǎn)稱68K)-16/32位CPU之后,其芯片因?yàn)榧纯梢允褂迷谟?jì)算機(jī)系統(tǒng)中,也可以使用在嵌入式系統(tǒng),很快成為當(dāng)時(shí)行業(yè)的標(biāo)準(zhǔn)。最早開發(fā)嵌入式OS的公司,許多都是借助摩托羅拉的市場(chǎng)起家的……
摘要:除了上一篇提到的OS-9以外,最早出現(xiàn)的嵌入式操作系統(tǒng)(簡(jiǎn)稱為嵌入式OS)當(dāng)屬VRTX,因其在技術(shù)上創(chuàng)新性,得到用戶和嵌入式系統(tǒng)公司的廣泛支持,VRTX可稱為商業(yè)嵌入式OS的開拓和領(lǐng)導(dǎo)者……
摘要:過去30年間,風(fēng)河和VxWorks在嵌入式OS領(lǐng)域一直處在領(lǐng)先地位,在航空航天、通信、工業(yè)控制等行業(yè)有著廣泛的應(yīng)用,在業(yè)內(nèi)被稱為嵌入式OS的常青樹……
摘要:手機(jī)屬于嵌入式設(shè)備,手機(jī)軟件平臺(tái)使用的操作系統(tǒng)屬于嵌入式OS的范疇。傳統(tǒng)的功能手機(jī)(Feature Phone)使用了實(shí)時(shí)多任務(wù)操作系統(tǒng)(RTOS)為基礎(chǔ)的手機(jī)軟件平臺(tái)。入門級(jí)的智能手機(jī)采用了半開放的嵌入式OS(比如Symbian),而今天高端的智能手機(jī)多采用Android和IOS這樣的通用型的OS……
摘要:為你介紹那些開源的操作系統(tǒng),Android以及它的競(jìng)爭(zhēng)對(duì)手們的整個(gè)OS產(chǎn)業(yè)生態(tài)……
系列之十:汽車電子-嵌入式OS逐鹿的新戰(zhàn)場(chǎng)
摘要:根據(jù)IEEE 2009年2月的報(bào)告,豪華級(jí)別的汽車的軟件代碼長度將超過1億行,如此巨大的代碼量不使用嵌入式操作系統(tǒng)(以下簡(jiǎn)稱嵌入式OS)和軟件平臺(tái)架構(gòu)是不可想象的,以此聯(lián)動(dòng)產(chǎn)生的軟件研發(fā)、測(cè)試和維護(hù)成本也是巨大的,帶給汽車的安全性和可靠性隱患更是無法預(yù)估的。由此也成為嵌入式Os逐鹿的新戰(zhàn)場(chǎng)……
摘要:嵌入式OS發(fā)展到今天已經(jīng)有30多年歷史了,未來的嵌入式OS 會(huì)是什么樣的?技術(shù)會(huì)有哪些變化?商業(yè)還會(huì)蓬勃發(fā)展,還是逐漸消亡呢?筆者在撰寫《嵌入式操作系統(tǒng)史話》專欄期間,恰逢美國的CES2014,我參觀了LG,三星、SONY,奧迪等大企業(yè)展位,看到Intel、恩智浦和TI等半導(dǎo)體公司最新芯片解決方案,了解到國外嵌入式OS最新發(fā)展的一些情況……