本書全面回顧了嵌入式操作系統的演進歷史,主流的嵌入式操作系統的技術特點、成長歷程以及背后的商業故事,展望了嵌入式操作系統未來的技術路徑、市場發展趨勢和物聯網時代的新機遇。并按時間軸講述了從RTOS、開源嵌入式操作系統到物聯網操作系統的發展歷程,以技術為視角剖析了嵌入式操作系統的實時性、安全性和云計算等重要技術,從手機、通信、汽車和可穿戴設備幾個市場討論了嵌入式操作系統的應用,從嵌入式操作系統和知識產權角度討論了商業模式的問題。本書適合電子信息行業的人士閱讀,尤其適合嵌入式系統、電子設計和工業控制領域的工程技術人員、管理和營銷人士閱讀,也可供從事嵌入式系統教學和學術研究領域的科研人員、老師,以及高校計算機、物聯網、電子信息和自動控制等專業學習嵌入式課程的學生學習參考。
我是在1994年正式進入嵌入式系統這個領域的,之前10年,我雖然參與過工業自動化和通信設備開發項目,但在當時,它們還不能算是真正意義上的嵌入式系統。可以這樣講,1994年之前我對實時多任務操作系統有一定的了解,但對嵌入式操作系統基本上是一無所知。20多年一路走過來,我與嵌入式系統和嵌入式操作系統結下了不解之緣。
寫作的初衷本書最初的構想還要從2008年整理的一本小冊子《嵌入式系統文集》說起。就在那一年,我自己有了更多的可以自由支配的時間,于是我將前幾年撰寫的20余篇文章整理成文集,并印刷了一小批送給我的朋友,這算是本書的雛形。
2011年,我在桂林參加飛思卡爾大學計劃的交流會,期間我做了一個題為“嵌入式系統:以變應變、未來無限”的發言。聽了我的發言,同去參會的電子工業出版社的一位編輯就建議我寫一本關于嵌入式操作系統歷史的書籍。之后,他還很熱情地寄給我一本吳軍寫的《浪潮之巔》。這位朋友的鼓勵是我寫成本書的一個推動力。
2013年下半年,與非網的劉福鋒和高揚兩位主編找到我,希望我能寫一個介紹嵌入式操作系統發展歷史的系列文章。經過構思,我前后花2個月時間完成了12篇文章,并于2014年1~3月在與非網“嵌入式操作系統史話”欄目上發表。這些文章受到了業內人士的普遍好評,也讓初學者弄清楚了嵌入式操作系統的概念和產品變遷歷史。這一次的系列文章讓我對嵌入式操作系統歷史的知識積累更加豐富,也讓我確定了撰寫嵌入式操作系統風云錄圖書的計劃。
2014年中期,我把與非網文章的鏈接發給了對嵌入式Linux很感興趣的張國強先生,當時他是機械工業出版社華章公司的策劃編輯。他很熱情地邀請我寫一本嵌入式操作系統科技史的圖書。于是寫這本書就到了水到渠成的時候。此外,我確信物聯網操作系統將是嵌入式操作系統的發展方向之一,這也是我下定決心寫本書的原因之一。而在2013年年底寫“嵌入式OS的未來”這篇文章的時候,我只是預感到物聯網操作系統可能成為嵌入式產業界未來關注的方向。
本書的內容本書共15章,包括史話、技術、應用、商業模式和發展幾大部分內容。書中全面回顧了嵌入式操作系統的演進歷史,主流的嵌入式操作系統的技術特點、成長歷程以及背后的商業故事,展望了嵌入式操作系統未來的技術路徑、市場發展趨勢和物聯網時代的新機遇。本書以時間為軸,講述了從RTOS、開源嵌入式操作系統到物聯網操作系統的發展歷程;以技術為視角,剖析了嵌入式操作系統的實時性、安全性和云計算等重要技術;從手機、通信、汽車和可穿戴設備幾個市場角度討論了嵌入式操作系統的應用,從嵌入式操作系統知識產權的角度討論了商業模式的問題。嵌入式操作系統起源于北美,主要的創新也來自北美,但近年來,歐洲和亞洲的嵌入式操作系統發展也頗具特色,潛力無限,所以本書也以極大的熱情關注了歐亞市場。
致謝早在1988年我在北航計算機應用專業攻讀研究生期間,田子鈞和莊梓新兩位導師就曾細心指導我對微處理器技術及其應用進行了深入的研究,這段經歷為我今后從事嵌入式系統工作打下了堅實的基礎。正如美國著名的嵌入式系統人士Jack Ganssle于2011年年底所說:“在微處理器出現之前,如果你想在電子產品中加入計算機,那將是一件極其困難的事情。而在今天,任何電子產品如果沒有嵌入智能,那將是無法想象的。”
真正引領我走入嵌入式操作系統大門的是Jim Ready和Andre Kobel。Jim是技術專家和成功的創業者,他善于把握大方向。Andre精于銷售和市場開發,他的幫助最為直接和有效。這兩位前輩給了我進入嵌入式操作系統領域的信心,借助于Jim Ready創建的Ready System和Microtec Research公司的產品,我順暢地走上了嵌入式系統的研究道路。
2009年以后,我有幸與何立民教授在《單片機與嵌入式系統應用》雜志社共事。何老是中國單片機的開拓者之一,他敏捷的思維、開放的思想,以及嚴謹的作風讓我受益匪淺。與何老等人共同創建的嵌入式系統聯誼會讓我有機會與高校嵌入式和物聯網專業方向的老師相識并交流,加上后來我自己親身參與高校的嵌入式和物聯網的教學工作,這些讓我對嵌入式系統的理解多了一個維度。
在學習和應用嵌入式操作系統的20多年中,許多學生、老師、企業和媒體界的朋友都給過我多方的幫助和支持,這里無法一一細說,借本書出版之機,謹表達我最真摯的感謝!
本書在寫作過程中還得到了多位朋友的幫助,他們的貢獻讓本書的內容更加豐富,在這里一并奉上我的衷心感謝!這些朋友是:我與Microtec Research和Montavista合作時的老朋友Jim Ready,他給了我一些珍貴的史料,并為本書撰寫推薦序(Jim現在在Cadence公司工作,任軟件開發和業務發展集團的副總裁);Bill Weinberg(Bill曾在Montavista和Black duck工作,現在在OSDL工作)和Jun Sun博士(Jun曾在Montavista和Google工作);Micrium的Jean Labrosse和Christian Legare;麥克泰公司我的同事江文瑞和張愛華;還有曾經在麥克泰公司實習的李少莆博士、黃武陵博士和王霞女士;北京理工大學馬忠梅副教授;中興成都研究所的鐘衛東總工程師;北京凱思昊鵬董事長顧玉良博士;RT-Thread的創始人熊譜翔以及Synopsys武漢研究中心的任蔚博士等人,麥克泰公司及其合作伙伴也給我提供了資料。
我還要感謝多年來科技媒體界朋友們的幫助和支持,尤其是嵌入式聯誼會的支持媒體(http://www.esbf.org.cn/),科技媒體在宣傳嵌入式操作系統上一直不遺余力。
最后需要特別感謝的是我的家人,我的太太和兒子,他們傾力的支持才能讓本書得以順利完成。我太太幫助我審閱了全書,并幫助我精心梳理文字;我兒子何靈淵幫助我整理了文章。感謝他們的支持和理解,讓我能一直做我喜歡的事。
2016年2月23~25日,我訪問了德國的紐倫堡,參加Embedded World 2016會議和展覽。這個展覽中,全球著名的嵌入式操作系統、軟件和工具公司悉數登場。比如微軟展示了Windows 10 for IoT,ARM演示了embed OS和谷歌Brillo,QNX展示了汽車電子應用,Gree Hills和卡巴斯基展示了安全操作系統,Micrium展示了最新的創客版本—c/OS for maker。現場我還看到了Expresslogic、Mentor Graphic、WindRiver(在Intel展位)等著名企業。歐洲Enea和FreeRTOS,德國的Segger、SYSGO、euros也參加了展示,這些公司在歐洲市場都頗有名氣。此外還有更多從事嵌入式操作系統安全認證、測試服務和應用方案的中小企業也來到現場。150余場技術報告中,許多都是嵌入式操作系統相關的內容,在歐洲物聯網和工業4.0發展浪潮中,嵌入式操作系統正在發揮著舉足輕重的作用。
嵌入式操作系統是一門軟硬結合、覆蓋廣泛的應用和工程技術,在當前物聯網浪潮襲來之際,嵌入式操作系統再一次被推上了風口浪尖。我創建了www.hexiaoqing.net網站,將我過去20多年所寫的文章和會議發言的PPT,以及相關的資料全部放在上面,歡迎對嵌入式操作系統有興趣的朋友隨時瀏覽,也歡迎朋友們隨時以任何方式與我交流和探討。再次感謝大家!
何小慶2016年4月20日寫于北京海淀中關村
Foreword 推薦序計算機技術可以說是人類歷史上最重要的發明之一,但是業內人士擔心這一重要技術的發展歷史并沒有被正確地保留下來。即使是能夠以實物保留的硬件,不少也已經被拆解,無法讓后人完整地學習和了解。事實上,美國加利福尼亞山景城的計算機博物館正是為了保存計算機技術的歷史而創建的。對于軟件而言,如何保存的問題就更加嚴重了,也許只有手冊、源代碼列表或者磁帶可以保存。
針對這一問題,Allan(何小慶的英文名)決定撰寫本書,以自己的力量來更好地保存軟件的歷史。嵌入式軟件的特性決定了它們隱藏在航空、運輸、通信等眾多大型應用領域中,對于外界基本是不可見的(除非它們出了故障)。這也意味著除了少數業內人士以外,更多的人根本都不知道這些軟件的存在。盡管如此,嵌入式軟件全天候、可靠、安全地運行對于整體系統而言是極其重要的。
在個人計算機興起的時代,Intel公司的處理器也遇到了類似的苦惱,但他們成功地通過Intel Inside宣傳項目讓自己的品牌廣為人知。很遺憾,對于嵌入式操作系統而言,歷史上并沒有一個關于“內有嵌入式操作系統”的宣傳活動來讓更多的人知曉它。
盡管嵌入式系統業內沒有像Intel這樣成功地宣傳自己的公司,但好消息是,Allan是業內先鋒之一,他處在能夠記錄歷史的獨特位置上。20世紀90年代早期,Allan是中國嵌入式軟件市場最早的企業家之一,他先創建了Ready System中國,后來創建了BMR(麥克泰)。近30年來,Allan一直在推動RTOS技術和嵌入式Linux的應用。1992年前后,Allan加入了國際嵌入式系統社區,他也很可能因此成為中國最早的Linux和互聯網用戶之一(Linux在1991年首次發行)。Allan是一個言行一致的企業家,他說到做到(在硅谷,這是衷心的贊美)。
在本書中,你能夠體會到保留軟件歷史的核心,聽到內行人士親自向你講述歷史。在此向Allan致以敬意,感謝他投入時間和精力來撰寫本書。
Jim Ready2016年2月9日寫于美國加利福尼亞庫比蒂諾
推薦序
前言
第1章 認識嵌入式操作系統1
什么是嵌入式系統2
什么是嵌入式操作系統2
嵌入式操作系統分類3
嵌入式操作系統的應用4
第2章 嵌入式操作系統的歷史6
VRTX:嵌入式操作系統的開拓者7
嵌入式操作系統的“摩托”系11
C/OS的故事13
風河—嵌入式操作系統的常青樹18
嵌入式操作系統的紅花綠葉22
第3章 開源的嵌入式操作系統27
開源軟件與嵌入式操作系統28
嵌入式系統開源軟件的思考32
構建你自己的Linux37
從Montavista看嵌入式Linux的發展40
Linux和Android:誰更適合你47
第4章 IT大佬的嵌入式操作系統夢53
微軟嵌入式操作系統分析54
ARM:成長中的煩惱63
如何看待谷歌的Brillo OS73
第5章 歐洲的嵌入式操作系統76
OSE—來自北歐的RTOS77
安全操作系統—SafeRTOS80
開源新兵FreeRTOS81
第6章 亞洲的嵌入式操作系統86
中日在發展嵌入式軟件上的不同思路87
實時嵌入式操作系統TOPPERS剖析89
RT-Thread的發展歷程107
第7章 嵌入式Linux操作系統114
嵌入式Linux的實時性技術115
提高嵌入式Linux時鐘精度的方式121
嵌入式Linux的動態電源管理技術123
第8章 嵌入式系統安全131
物聯網中的嵌入式安全132
基于嵌入式操作系統的物聯網安全133
豐田汽車召回事件給我們的啟示138
第9章 嵌入式系統與云計算141
云計算、物聯網和嵌入式系統142
互聯網與物聯網協議146
第10章 手機中的嵌入式操作系統151
手機:嵌入式操作系統必爭之地152
手機設計挑戰嵌入式Linux159
第11章 嵌入式操作系統的應用168
我與嵌入式通信產品開發169
嵌入式Linux在通信設備中的應用171
基于嵌入式Linux的無線網絡設備開發176
汽車電子:群雄逐鹿的新戰場182
第12章 嵌入式軟件的知識產權187
嵌入式軟件的知識產權188
談談FreeRTOS及其授權方式195
第13章 嵌入式操作系統的發展200
嵌入式操作系統的現狀和未來201
Android方興未艾204
第14章 可穿戴設備與嵌入式操作系統208
可穿戴設備市場回顧和展望209
可穿戴設備的操作系統212
第15章 物聯網操作系統219
什么是物聯網操作系統220
物聯網與開源軟件227
物聯網操作系統的新進展241
后記 我與嵌入式系統20年247