淺淡嵌入式系統(tǒng)中的Linux系統(tǒng)
Linux是目前使用最廣泛的開源操作系統(tǒng),它用于手機、電視機、機頂盒、汽車控制臺和智能家居設(shè)備等。不過就因為它用途廣泛并不意味著一定適合您。本文概述何時以及為何將Linux用作適合嵌入式系統(tǒng)的操作系統(tǒng)。
Linux是嵌入式系統(tǒng)中廣泛使用的操作系統(tǒng),它用于手機、電視機、機頂盒、汽車控制臺和智能家居設(shè)備等。不過就因為它用途廣泛并不意味著一定適合您。本文概述何時以及為何將Linux用作適合嵌入式系統(tǒng)的操作系統(tǒng)。
1. Linux免版稅
由于Linux免版稅,因此吸引很多人。要明確的是,還有與使用它有關(guān)的其他成本。Linux不是安裝后不用操心的操作系統(tǒng),它需要關(guān)注。其他專有的操作系統(tǒng)一樣,不過區(qū)別在于,如果是專有操作系相比,您掏錢請供應(yīng)商予以關(guān)注。
這就像汽車的“實際擁有成本”。有些人看了標價后以為這就是汽車的成本。但是實際成本包括油費、保險費、維護費和維修費。對于操作系統(tǒng)而言,成本包括每個席位的許可費、創(chuàng)建驅(qū)動程序的成本、修復(fù)錯誤的成本以及請開發(fā)人員針對特定設(shè)備開發(fā)應(yīng)用程序的成本。使用供應(yīng)商可能會招致所有這些成本。除了許可費外,Linux可以省下很多錢。
2. Linux開源
Linux是開源的,可讓您全權(quán)控制產(chǎn)品開發(fā)。換成專有操作系統(tǒng),如果有重要的錯誤需要修復(fù),您與供應(yīng)商合作以修復(fù)錯誤。然而,供應(yīng)商的優(yōu)先事項常常與您的優(yōu)先事項不完全一致。您臨近截止日期對供應(yīng)商而言可能不那么重要,您在對方何時解決問題方面的控制權(quán)也很小。另一方面,如果是Linux,要做的就是雇用一些內(nèi)核開發(fā)人員來解決該問題。
除了對自己的日程安排有更大的控制權(quán)外,開源的Linux使你可以利用他人的工作成果。多年前,我供職于一家制造NAS設(shè)備的公司。我們有約15名開發(fā)人員,我們的團隊開發(fā)了一款很出色的操作系統(tǒng),有大量出色的功能。但隨著時間的流逝,Linux在某些功能上趕上了我們,然后在一些方面超越了我們。我們的團隊即使只關(guān)注公司關(guān)心的功能,也跟不上開源社區(qū)成千上萬人的步伐。
3. Linux可滿足要求
Linux支持幾乎任何人都想要的所有編程語言、庫、服務(wù)和工具,即使對于嵌入式系統(tǒng)也是如此。如果您想使用Python、php、C、C++、.Net、Ada、Per、Go或Java,Linux可滿足要求。如果您需要Web服務(wù)器,Linux可滿足要求。如果您需要通過USB與設(shè)備通信或創(chuàng)建USB設(shè)備,Linux可滿足要求。如果您需要圖形化工具箱,Linux可滿足要求。
如果使用Linux,您并不僅限于某些工具和服務(wù)。
4. Linux支持硬件
Linux很有可能已經(jīng)支持您的硬件平臺。如果您針對SoC、SoM或另一種常見的嵌入式平臺進行開發(fā),Linux很可能支持它。Linux支持ARM、PowerPC和MIPS,當(dāng)然還支持X86等。
當(dāng)然,如果您有定制硬件,Linux可能不支持該硬件,但是您可以隨意開發(fā)支持該硬件的Linux驅(qū)動程序,而且與借助操作系統(tǒng)供應(yīng)商相比,您能夠以極快的速度創(chuàng)建驅(qū)動程序。
5. 開發(fā)人員熟知
由于Linux問世已有多年,許多開發(fā)人員已經(jīng)熟悉它。如果您將Linux用于嵌入式系統(tǒng),很容易雇用或聯(lián)系已經(jīng)熟悉Linux的開發(fā)人員。您不需要花時間讓開發(fā)人員完成學(xué)習(xí)過程以熟悉該系統(tǒng)。
這些開發(fā)人員可能還擁有解決他們過去項目中類似問題方面的經(jīng)驗。他們會說:“哦,我在某家公司工作時,我們這樣解決了這個問題?!?
6. Linux備受關(guān)注
Linux被很多人使用,源代碼被很多開發(fā)人員查看。許多錯誤已經(jīng)解決掉。發(fā)現(xiàn)錯誤后,它們往往會在幾天內(nèi)迅速得到修復(fù)。如果您使用比較流行的硬件平臺——許多人關(guān)注和開發(fā)該代碼庫,尤其如此。
7. Linux使用標準
Linux符合許多標準:POSIX、BSD、SVr4和FHS等。這意味著您不會被Linux鎖定。如果由于某種原因您覺得另一種選擇更適合,遷移應(yīng)用程序會容易得多,因為它們會使用標準接口。
Linux對于許多嵌入式系統(tǒng)很有用。然而,對于使用低端硬件的嵌入式系統(tǒng)而言,Linux并非總是最佳選擇。如果硬件平臺性能低下,使用調(diào)度程序運行多項任務(wù),可能無法很好地運行Linux。
總而言之,linux對于眾多嵌入式系統(tǒng)來說是不錯的選擇,它的確已經(jīng)用于許多嵌入式平臺中。雖說它并非盡善盡美,但是在實際應(yīng)用中已經(jīng)完全足夠了。