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