新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 編輯觀點 > 嵌入式OS的核心是任務優(yōu)先、安全與可靠

嵌入式OS的核心是任務優(yōu)先、安全與可靠

作者:王瑩 時間:2016-11-24 來源:電子產(chǎn)品世界 收藏

  一些愛琢磨的軟件人員會心里癢癢,想自己做一個操作系統(tǒng)(OS);微軟等軟件巨頭為何很少涉足操作系統(tǒng)?操作系統(tǒng)的真諦是什么?近日,公司的工作人員向電子產(chǎn)品世界編輯講了一些鮮為人知的故事。

本文引用地址:http://m.butianyuan.cn/article/201611/340674.htm

  OS貴在可靠

  幾年前,美國某大型零售公司的老板過去用別家軟件,臨近圣誕節(jié)大促銷,系統(tǒng)一旦壞了承受不起。銷售人員把他帶到最高長官那里,“我想買你的軟件,但你得讓我放心?!憋L河最高長官說,“我把我的私人電話給你,你任何時候可以打給我?!边@樣這家公司變成了風河的客戶。

  幾年后,這家零售商又來風河簽新合同,恰巧碰到了最高長官。風河長官得知情況后,說:“順便告訴你,從明天開始,你剛剛買的這款產(chǎn)品就免費了。但是,免費后,圣誕節(jié)的時候不準給我打電話!”那個零售商想了想,還是付了錢。

  客戶明明知道將要宣布要免費,花錢干什么?當企業(yè)做大了以后,其實最難的是風險管理,是控制那些不確定的因素,而不是說你怎么把成本降下來。具體地,商業(yè)決策的時候你要考慮成本,這是基本的要素,但是隨著你的業(yè)務規(guī)模擴大,你會發(fā)現(xiàn)比成本、收入更重要的是風險,風險你是承受不起的。所以那位零售商愿意在降低風險上投資。

  其實代碼就是代碼,哪個代碼不能跑?可是你要保證它不出問題很難。因為能做和安全可靠是兩碼事。你要經(jīng)過反復的實驗,十幾年的時間驗證。

  一個極端保守的例子,據(jù)說NASA(美國航空航天局)某個部門的實驗室里,有一幫人的工作就是清理代碼,諸如火箭上的代碼,大概十幾萬行,并不多,那個軟件都已經(jīng)用了幾十年,他們這個團隊每天還是在清理,看看里面有什么bug。他們雖然在做枯燥無味的工作,這個代碼不知看了多少遍,甚至已經(jīng)把這些代碼背得滾瓜爛熟了,但是還是要查,如果能發(fā)現(xiàn)一個bug可能會是救命的——宇航員在太空涉及到生命安全。

  風河的競爭對手是誰?

  其實做嵌入式操作系統(tǒng)的廠商不多。風河的競爭對手其實主要是In-House(公司內(nèi)部)操作系統(tǒng)。因為嵌入操作系統(tǒng)本來不大,非常容易給人那種沖動,我自己做一個!尤其是做嵌入式軟件的人員往往都有能力往底下沉。風河現(xiàn)在很重的任務之一是去說服這些企業(yè)的決策層,不要讓開發(fā)人員去做操作系統(tǒng),開發(fā)人員的時間可以投入到應用方面,讓應用做得更好。這就像不需要重新發(fā)明一個輪子一樣。

  按風河的邏輯,操作系統(tǒng)沒有那么重要,它就是一個勞務,不要以為操作系統(tǒng)沒有自己做就不行。

  另外,操作系統(tǒng)如果開始沒有做完善,盡管產(chǎn)品在很短時間就出來了,但到一定階段,企業(yè)會面臨兩難的選擇。例如你選了開源操作系統(tǒng),有一天你發(fā)現(xiàn)不行,因為再繼續(xù)用這個技術的話,由于根扎得不夠牢和深,很難繼續(xù)長大了。

  為何做商用嵌入式OS的廠商寥寥?

  既然很多軟件人員都有能力做操作系統(tǒng),按理說,很多企業(yè)也應該像風河一樣能提供操作系統(tǒng)這種服務?

  的確,操作系統(tǒng)的門檻不高,但反而不容易形成巨頭。

  那么,是否是因為其他公司的市場能力沒風河那么強?

  其實,關鍵的考量是是否值得去做這么大投入。例如微軟也做自己的嵌入式操作系統(tǒng),但是目前沒做起來。微軟的市場能力不強嗎?這恐怕還是一個取舍的問題。

  首先要明確我要做什么樣的系統(tǒng)?如果要做宇宙飛船、飛機、坦克這種非常關鍵的應用,要用的設計思路與普通計算是不一樣的。微軟并非沒有這個能力,但是假設微軟是一頭大象,現(xiàn)在去抓一只小螞蟻,一是抓不住,另外抓了也不夠吃。所以這就剛好給風河這樣規(guī)模的公司一個機會。

  從技術路線的決策方面,安全性、可靠性和性能這三個方面是三個不同的方向,但是歸根到底是解決一件事——隔離性的問題。即在做軟件設計的時候,這一部分很專注的,我就解決這個問題,我也不想去解決別的模塊的問題;同時我也絕不允許別的模塊想伸到我這個模塊里面。從CPU的分配,到存儲空間的分配,都是非常嚴格的限制,這樣嚴格的限制就比較安全。但是你犧牲了交叉時的通信效率,就好比你一個小區(qū)的門衛(wèi)特別嚴格的時候,小區(qū)的安全性提高了,你在里面也會很安全,但是你跟外界的溝通、交流就變差了,因為進門很麻煩。

  任務優(yōu)先vs資源優(yōu)先

  這就引申到一個概念:什么是嵌入式操作系統(tǒng)?即所有的操作系統(tǒng)有涉及到一個共同的問題:職能是什么?操作系統(tǒng)是做資源管理的,要讓所有的資料都能最有效地被利用起來,諸如熒幕、鍵盤、內(nèi)存、CPU等,這些都是資源。但是有一個優(yōu)先的取舍問題,就是你是資源優(yōu)先還是任務優(yōu)先?即我要把資源最充分地利用,還是要讓我的任務是最佳的執(zhí)行。

  Windows是一個典型的資源優(yōu)先的系統(tǒng)。意思是可讓CPU、內(nèi)存等計算機資源最高效地利用,但是你的任務有沒有最好的完成?在盡量追求,但是沒那么在意。例如,當你強調(diào)每個任務要按照確定的順序打開,你這個窗口先打開一兩秒鐘,那個窗口后打開一兩秒鐘沒什么影響,所以任務是什么時間完成沒有特別提到。但是要讓計算機里所有的資源都被充分利用,不要這個閑得無聊、那個忙得不可開交??傊Y源要充分利用。

  但是嵌入式系統(tǒng),例如,飛機在空中飛的時候,飛行員的一個動作指令,要讓機翼各個部分按順序執(zhí)行,順序可能一毫秒都不能差。所以當計算機處理器發(fā)出一個請求的時候,你必須立刻做,你不能說等一下,我這邊還在忙這件事情。這時,為了讓任務能夠最及時地完成(即任務實時地完成),其實計算機的資源很多時候是空閑的,導致資源利用率會降低,因為關鍵任務系統(tǒng)把內(nèi)部資源犧牲掉了。所以真正的嵌入式系統(tǒng)強調(diào)的是關鍵任務的任務優(yōu)先,不是資源優(yōu)先。

  因此,需要在任務優(yōu)先和資源優(yōu)先之間進行一個取舍。

  所以風河是以這樣的思路去設計嵌入式操作系統(tǒng)也的。當然,不是說微軟不懂,但是微軟的戰(zhàn)略選擇上不能做這塊,做這塊公司就活不了。

  風河的操作系統(tǒng)本質(zhì)是嵌入式

  風河的特點是想怎么樣用新的方法去解決一個老問題。

  提出新問題,然后解決它,這是創(chuàng)新,像阿里公司。不提出新問題,而是提出新方法去解決人們長期沒解決的問題,這也是一種創(chuàng)新。

  風河這么多年一直專注于嵌入式,它的產(chǎn)品結(jié)構都是呈現(xiàn)操作系統(tǒng)、中間件到最終的應用。風河最核心的還是操作系統(tǒng)。你如果需要比較高精尖的,即特別精致的操縱系統(tǒng),那你就選VxWorks;你要選比較大眾、開放的,可選Linux。所以風河多年來沿襲了這種雙操作系統(tǒng)架構。

  最近幾年風河又拆分了,變成了四個操作系統(tǒng):增加了Rocket,是一個縮小版、精簡版的VxWorks;Linux也加了Pulsar Linux,主要是針對輕巧應用,例如可穿戴。

  圖:風河部分操作系統(tǒng)組合(注:Helix是風河物聯(lián)網(wǎng)產(chǎn)品集)

  但是一旦到了中間件及以上,就有了合作伙伴、生態(tài)系統(tǒng),使客戶有了更多的選擇。風河在中間層的產(chǎn)品有“風河智能設備平臺XT”等,是可定制的中間件開發(fā)環(huán)境,用于打造安全、可擴展、高性能物聯(lián)網(wǎng)網(wǎng)關。

  到了應用層,嚴苛程度又降低了。

  所以風河這么多年來,比較專注在操作系統(tǒng)這一核心基礎。到了物聯(lián)網(wǎng)時代,跟云有關了,風河還運用了云的技術和環(huán)境,但是解決的問題還是嵌入式的問題。具體地,在云端做了設備的虛擬現(xiàn)實,像云端有個設備在那做開發(fā)一樣,不需要真的有那個設備或芯片,就像在實驗室拿了一個實驗設備。即風河在云端可以有VR(虛擬現(xiàn)實)的實驗室。

  總之風河比較專注于操作系統(tǒng)。你只要是個設備,你就會有操作系統(tǒng),你就會有開發(fā)工具,你就是上了云端我還可以弄個虛擬的操作系統(tǒng)環(huán)境。我讓你這個操縱系統(tǒng)既可以在云端里面虛擬的設備里,也可以在你開發(fā)自己做出來的實實在在的設備里面,它兩個最好是完全一樣的,在云端開發(fā)好多軟件裝到你實體的設備里面實際的運行。

  值得一提的是,風河的Wind River Helix App Cloud的基本想法是借鑒了蘋果和安卓的的App概念,意思是:就算你是個路由器設備,抑或汽車、飛機等,你也可以從云端拿到需要的應用軟件,方法是在App Store上一點立刻就下載了。但是你可以想象,如果一架飛機也可以像手機一樣用這個軟件一點就下來,有多恐怖!首先安全性怎么保證?但是風河能夠給客戶這樣的保障,贏得客戶的信任。風河有這個能力,能保證下載的軟件是安全的,是不會經(jīng)過篡改的,風河有一整套的相關技術。

  小結(jié)

  嵌入式操作系統(tǒng)看著簡單,但是做好不容易,涉及安全、可靠與任務優(yōu)先等,購買現(xiàn)成的操作系統(tǒng)是一種提升效率、適合長遠發(fā)展的良策。另,在物聯(lián)網(wǎng)時代,風河的嵌入式操作系統(tǒng)增加了云連接功能,也增加到4種,但本質(zhì)仍然是嵌入式。



關鍵詞: 嵌入式 風河

評論


相關推薦

技術專區(qū)

關閉