當我們在設計信息電器、數(shù)字醫(yī)療設備等嵌入式產(chǎn)品時,嵌入式操作系統(tǒng)的選擇至關(guān)重要。一般而言,在選擇嵌入式操作系統(tǒng)時,可以遵循以下原則??偟膩碚f,就是“做加法還是做減法”的問題。
市場進入時間
制定產(chǎn)品時間表與選擇操作系統(tǒng)有關(guān)系,實際產(chǎn)品和一般演示是不同的。目前是Windows程序員可能是人力資源最豐富的?,F(xiàn)成資源最多的也就可能是WinCE。使用WinCE能夠很快進入市場。因為WinCE+X86做產(chǎn)品實際上是在做減法,去掉你不要的功能,能很快出產(chǎn)品,但伴隨的可能是成本高,核心競爭力差。而某些高效的操作系統(tǒng)可能由于編程人員缺乏,或由于這方面的技術(shù)積累不夠,影響開發(fā)進度。
可移植性
操作系統(tǒng)相關(guān)性。當進行嵌入式軟件開發(fā)時,可移植性是要重點考慮的問題。良好的軟件移植性應該比較好,可以在不同平臺、不同系統(tǒng)上運行,跟操作系統(tǒng)無關(guān)。軟件的通用性和軟件的性能通常是矛盾的。即通用以損失某些特定情況下的優(yōu)化性能為代價。很難設想開發(fā)一個嵌入式瀏覽器而僅能在某一特定環(huán)境下應用。反過來說,當產(chǎn)品與平臺和操作系統(tǒng)緊密結(jié)合時,往往你的產(chǎn)品的特色就蘊含其中。
可利用資源
產(chǎn)品開發(fā)不同于學術(shù)課題研究,它是以快速、低成本、高質(zhì)量的推出適合用戶需求的產(chǎn)品為目的的。集中精力研發(fā)出產(chǎn)品的特色,其他功能盡量由操作系統(tǒng)附加或采用第三方產(chǎn)品,因此操作系統(tǒng)的可利用資源對于選型是一個重要參考條件。Linux和WinCE都有大量的資源可以利用,這是他們被看好的重要原因。其它有些實時操作系統(tǒng)由于比較封閉,開發(fā)時可以利用的資源比較少,因此多數(shù)功能需要自己獨立開發(fā)。從而影響開發(fā)進度。近來的市場需求顯示,越來越多的嵌入式系統(tǒng),均要求提供全功能的Web瀏覽器。而這要求有一個高性能、高可靠的GUI的支持。
系統(tǒng)定制能力
信息產(chǎn)品不同于傳統(tǒng)PC的Wintel結(jié)構(gòu)的單純性,用戶的需求是千差萬別的,硬件平臺也都不一樣,所以對系統(tǒng)的定制能力提出了要求。要分析產(chǎn)品是否對系統(tǒng)底層有改動的需求,這種改動是否伴生著產(chǎn)品特色?Linux由于其源代碼開放的天生魅力,在定制能力方面具有優(yōu)勢。隨著Wince 3.0原碼的開放,以及微軟在嵌入式領域力度的加強,其定制能力會有所提升。
成本
成本是所有產(chǎn)品不得不考慮的問題。操作系統(tǒng)的選擇會對成本有什么影響呢?Linux免費,WinCE等商業(yè)系統(tǒng)需要支付許可證使用費,但這都不是問題的答案。成本是需要綜合權(quán)衡以后進行考慮的---選擇某一系統(tǒng)可能會對其它一系列的因素產(chǎn)生影響,如對硬件設備的選型、人員投入、以及公司管理和與其它合作伙伴的共同開發(fā)之間的溝通等許多方面的影響。
中文內(nèi)核支持
國內(nèi)產(chǎn)品需要對中文的支持。由于操作系統(tǒng)多數(shù)是采用西文方式,是否支持雙字節(jié)編碼方式,是否遵循GBK,GB18030等各種國家標準,是否支持中文輸入與處理,是否提供第三方中文輸入接口是針對國內(nèi)用戶的嵌入式產(chǎn)品的必需考慮的重要因素。
上面提到用WinCE+x86出產(chǎn)品是減法,這實際上就是所謂PC家電化;另外一種做法是加法,利用家電行業(yè)的硬件解決方案(絕大部分是非x86的)加以改進,加上嵌入式操作系統(tǒng),再加上應用軟件。這是所謂家電PC化的做法,這種加法的優(yōu)勢是成本低,特色突出,缺點是產(chǎn)品研發(fā)周期長,難度大(需要深入了解硬件和操作系統(tǒng))。如果選擇這種做法,Linux是一個好選擇,它讓你能夠深入到系統(tǒng)底層,如果你愿意并且有能力。