在嵌入式系統(tǒng)里面常用那些OS?

作者:郎思呈

學號:16020188007

轉(zhuǎn)載自https://bbs.csdn.net/topics/390286026

嵌牛導讀】:在我們已學習的只是中嵌入式系統(tǒng)很少使用操作系統(tǒng),而實際上有些嵌入式系統(tǒng)也會使用操作系統(tǒng)

嵌牛鼻子】:嵌入式系統(tǒng)小知識

嵌牛提問】:嵌入式系統(tǒng)里有哪些常用OS?

嵌牛正文】:

嵌入式操作系統(tǒng)與通用的操作相比較主要特點在于:

1.小內(nèi)核,穩(wěn)定可靠。

2.需要可裝卸、可裁剪,以便能靈活應對各種不同的硬件平臺。

3.面向應用,強實時性,可用于各種設備控制當中。


國際上常見的嵌入式操作系統(tǒng)大約有40種左,右如:Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX?、Rtems?、QNX、INTEGRITY、OSE、C?Executive?。他們基本可以分為兩類,一類是面向控制、通信等領域的實時操作系統(tǒng),如windriver公司的vxworks、isi的psos、qnx系統(tǒng)軟件公司的qnx、ati的nucleus等;另一類是面向消費電子產(chǎn)品的非實時操作系統(tǒng),這類產(chǎn)品包括個人數(shù)字助理(pda)、移動電話、機頂盒、電子書、webphone等,系統(tǒng)有Microsoft的WinCE,3Com的Palm,以及Symbian和Google的Android等。


一、VxWorks

VxWorks操作系統(tǒng)是美國WindRiver公司于1983年設計開發(fā)的一種嵌入式實時操作系統(tǒng)(RTOS),是Tornado嵌入式開發(fā)環(huán)境的關鍵組成部分。良好的持續(xù)發(fā)展能力、高性能的內(nèi)核以及友好的用戶開發(fā)環(huán)境,在嵌人式實時操作系統(tǒng)領域逐漸占據(jù)一席之地。

VxWorks具有可裁剪微內(nèi)核結(jié)構(gòu);高效的任務管理;靈活的任務間通訊;微秒級的中斷處理;支持POSIX?1003.1b實時擴展標準;支持多種物理介質(zhì)及標準的、完整的TCP/IP網(wǎng)絡協(xié)議等。

然而其價格昂貴。由于操作系統(tǒng)本身以及開發(fā)環(huán)境都是專有的,價格一般都比較高,通常需花費10萬元人民幣以上才能建起一個可用的開發(fā)環(huán)境,對每一個應用一般還要另外收取版稅。一般不通供源代碼,只提供二進制代碼。由于它們都是專用操作系統(tǒng),需要專門的技術人員掌握開發(fā)技術和維護,所以軟件的開發(fā)和維護成本都非常高。支持的硬件數(shù)量有限。


二、Windows?CE

Windows?CE與Windows系列有較好的兼容性,無疑是Windows?CE推廣的一大優(yōu)勢。其中WinCE3.0是一種針對小容量、移動式、智能化、32位、了解設備的模塊化實時嵌人式操作系統(tǒng)。為建立針對掌上設備、無線設備的動態(tài)應用程序**務提供了一種功能豐富的操作系統(tǒng)平臺,它能在多種處理器體系結(jié)構(gòu)上運行,并且通常適用于那些對內(nèi)存占用空間具有一定限制的設備。它是從整體上為有限資源的平臺設計的多線程、完整優(yōu)先權、多任務的操作系統(tǒng)。它的模塊化設計允許它對從掌上電腦到專用的工業(yè)控制器的用戶電子設備進行定制。操作系統(tǒng)的基本內(nèi)核需要至少200KB的ROM。由于嵌入式產(chǎn)品的體積、成本等方面有較嚴格的要求,所以處理器部分占用空間應盡可能的小。系統(tǒng)的可用內(nèi)存和外存數(shù)量也要受限制,而嵌入式操作系統(tǒng)就運行在有限的內(nèi)存(一般在ROM或快閃存儲器)中,因此就對操作系統(tǒng)的規(guī)模、效率等提出了較高的要求。從技術角度上講,Windows?CE作為嵌入式操作系統(tǒng)有很多的缺陷:沒有開放源代碼,使應用開發(fā)人員很難實現(xiàn)產(chǎn)品的定制;在效率、功耗方面的表現(xiàn)并不出色,而且和Windows一樣占用過的系統(tǒng)內(nèi)存,運用程序龐大;版權許可費也是廠商不得不考慮的因素。


三、嵌入式Linux

這是嵌入式操作系統(tǒng)的一個新成員,其最大的特點是源代碼公開并且遵循GPL協(xié)議,在近一年多以來成為研究熱點,據(jù)IDG預測嵌入式Linux將占未來兩年的嵌入式操作系統(tǒng)份額的50%。

由于其源代碼公開,人們可以任意修改,以滿足自己的應用,并且查錯也很容易。遵從GPL,無須為每例應用交納許可證費。有大量的應用軟件可用。其中大部分都遵從GPL,是開放源代碼和免費的??梢陨约有薷暮髴糜谟脩糇约旱南到y(tǒng)。有大量的免費的優(yōu)秀的開發(fā)工具,且都遵從GPL,是開放源代碼的。有龐大的開發(fā)人員群體。無需專門的人才,只要懂Unix/Linux和C語言即可。隨著?Linux在中國的普及,這類人才越來越多。所以軟件的開發(fā)和維護成本很低。優(yōu)秀的網(wǎng)絡功能,這在Internet時代尤其重要。穩(wěn)定——這是Linux?本身具備的一個很大優(yōu)點。內(nèi)核精悍,運行所需資源少,十分適合嵌入式應用。

支持的硬件數(shù)量龐大。嵌入式Linux和普通Linux并無本質(zhì)區(qū)別,PC上用到的硬件嵌入式Linux幾乎都支持。而且各種硬件的驅(qū)動程序源代碼都可以得到,為用戶編寫自己專有硬件的驅(qū)動程序帶來很大方便。



四、μC/OS一Ⅱ

μC/OS一Ⅱ是著名的源代碼公開的實時內(nèi)核,是專為嵌入式應用設計的,可用于8位,16位和32位單片機或數(shù)字信號處理器(DSP)。它是在原版本μC?/OS的基礎上做了重大改進與升級,并有了近十年的使用實踐,有許多成功應用該實時內(nèi)核的實例。它的主要特點如下:

公開源代碼,容易就能把操作系統(tǒng)移植到各個不同的硬件平臺上;

可移植性,絕大部分源代碼是用C語言寫的,便于移植到其他微處理器上;

可固化;

可裁剪性,有選擇的使用需要的系統(tǒng)服務,以減少斗所需的存儲空間;

占先式,完全是占先式的實時內(nèi)核,即總是運行就緒條件下優(yōu)先級最高的任務;

多任務,可管理64個任務,任務的優(yōu)先級必須是不同的,不支持時間片輪轉(zhuǎn)調(diào)度法;

可確定性,函數(shù)調(diào)用與服務的執(zhí)行時間具有其可確定性,不依賴于任務的多少;

實用性和可靠性,成功應用該實時內(nèi)核的實例,是其實用性和可靠性的最好證據(jù)。

由于μC/OS一Ⅱ僅是一個實時內(nèi)核,這就意味著它不像其他實時存在系統(tǒng)那樣提供給用戶的只是一些API函數(shù)接口,還有很多工作需要用戶自己去完成。


五、QNX

由QNX軟件公司所開發(fā)的QNX操作系統(tǒng),也是一套類UNIX的嵌入式操作系統(tǒng),跟VxWorks同樣的,QNX也是一套符合POSIX規(guī)范的操作系統(tǒng)。

與VxWorks同樣發(fā)跡于1980年代的QNX,其特殊之處,在于其并非采用傳統(tǒng)的高階硬件虛擬層方式設計,而是以非常細碎的tasks形式來執(zhí)行,由許多的微核心為基礎組成完整的OS服務,因此QNX的硬件設計者可以自由的選擇加載執(zhí)行或不加載某些特定的服務,而不用去變更QNX的核心程序部份。因此基于QNX的嵌入式操作系統(tǒng)可以做到非常小的程度,而且依然可以具有相當高的效率與完整的菜單現(xiàn)。

QNX操作系統(tǒng)核心僅包含了CPU任務排程、進程間通訊、中斷重導向以及定時器等部份,而除此之外包含驅(qū)動程序、檔案系統(tǒng)堆疊協(xié)議以及使用者應用程序的所有程序都是屬于在使用者階段執(zhí)行。QNX操作系統(tǒng)有個相當特殊的Proc階段,專門負責程序process的建立,以及存儲器管理等交集在系統(tǒng)微核心中的組件?;旧?,QNX所有的組件都能透過消息傳遞這個函式來進行溝通,而具有良好定義的通訊機制,也能保障所有的組件都有完全獨立且被保護的儲存及執(zhí)行空間。因此有問題的應用程序不會影響到其它組件的穩(wěn)定性,發(fā)生問題的程序?qū)蛔詣咏K止并重新啟動。

與傳統(tǒng)的操作系統(tǒng)架構(gòu)相較起來,微核心架構(gòu)可以讓嵌入式系統(tǒng)獲得更為快速的平均回覆時間(MTTR),當硬件驅(qū)動程序失效,QNX可以在數(shù)毫秒之內(nèi),就對該驅(qū)動程序進行終止、回收資源并重新啟動的步驟,讓嵌入式設備可接近無停擺時間表現(xiàn)。

不過微核心RTOS的架構(gòu)除了優(yōu)點以外,由于其process間的訊息傳遞功能將會占用存儲器頻寬,影響到校能表現(xiàn),因此在實際應用上,就必須采用特殊的最佳化手段,以避免掉訊息傳遞功能所帶來的性能耗損。

雖然QNX整間公司在2004年出售給Haman?International?Industries,但QNX操作系統(tǒng)的發(fā)展腳步依舊沒有停止,在國外,除了與各家國際汽車大廠合作,成為車用電子的主力操作系統(tǒng)以外,也獲得相當多的航空公司與重要軍事單位采用。而在2005年底,QNX也與國內(nèi)幾家包含聯(lián)電、Zinwell等公司進行了合作,研華、控創(chuàng)等工業(yè)計算機廠商也都有針對這方面在發(fā)展。


六、Nucleus?Plus

這款嵌入式操作系統(tǒng)主要特征就是輕薄短小,其架構(gòu)上的延展性,可以讓Nucleus?RTOS所占的儲存空間壓縮到僅有13K左右,而且Nucleus?Plus是一款不需授權費的操作系統(tǒng),并且提供了原始碼。

Nucleus?Plus本身只是Acclerated?Technology公司完整解決方案里面的其中一環(huán),這個RTOS本身架構(gòu)屬于先占式多工設計,有超過95%的原始碼是用標準的ANSI?C語言所編寫,因此可以非常有效率的移植到各種不同的平臺。Nucleus?Plus在CISC架構(gòu)處理器中,核心部份大約占去20KB左右的儲存空間,而在RISC處理器上則是40KB左右,核心資料結(jié)構(gòu)僅占約1.5KB,由于其即時回應、先占式多工、以及多process并行,并且開放原始碼等特性,在國防、工控、航天工業(yè)、鐵路、網(wǎng)絡、POS、自動化控制以及信息家電等領域廣泛受到應用。

就如同QNX一般,Nucleus?Plus也可以根據(jù)目標產(chǎn)品的需求,來自行剪裁所需要的系統(tǒng)功能,達到精簡體積的目的。而配合相對應的編譯器(Borland?c/c++、Microsoft?c/c++)以及動態(tài)連結(jié)程序庫和各種底層驅(qū)動程序,在開發(fā)上擁有非常相當大的便利性。諸如飛思卡爾(Freescale)、羅技(Logitech)公司、美國NEC、SK?Telecom等公司,都有采用Nucleus?Plus嵌入式操作系統(tǒng)作為開發(fā)產(chǎn)品使用。


七、結(jié)束語

在嵌入式應用中,使用實時操作系統(tǒng)(RTOS)是當前嵌入式應用的一個特點,一種趨勢,也是單片機應用從低水平向高水平的一個進步。在實際的應用中,根據(jù)不同的要求和條件選擇合適的操作系統(tǒng),使開發(fā)工作更容易,設計出更完美的嵌入式系統(tǒng)。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容