關(guān)于嵌入式操作系統(tǒng)的分類
常見的嵌入式系統(tǒng)有Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX、Rtems、QNX、INTEGRITY、OSE、CExecutive。下面小編為您帶來關(guān)于嵌入式操作系統(tǒng)的分類,歡迎閱讀!
嵌入式操作系統(tǒng)的分類 篇1
第一類、傳統(tǒng)的經(jīng)典RTOS:
最主要的便是Vxworks操作系統(tǒng),以及其Tornado開發(fā)平臺。Vxworks因出現(xiàn)稍早,實時性很強(qiáng)(據(jù)說可在1ms內(nèi)響應(yīng)外部事件請求),并且內(nèi)核可極微(據(jù)說最小可8K),可靠性較高等,所以在北美,Vxworks占據(jù)了嵌入式系統(tǒng)的多半疆山。特別是在通信設(shè)備等實時性要求較高的系統(tǒng)中,幾乎非Vxworks莫屬。Vxworks的很多概念和技術(shù)都和Linux很類似,主要是C語言開發(fā)。像Bell-alcatel、Lucent、華為等通信企業(yè)在開發(fā)產(chǎn)品時,Vxworks用得很多。但Vxworks因價格很高,所以一些小公司或小產(chǎn)品中往往用不起。目前很多公司都在往嵌入式Linux轉(zhuǎn)(聽說華為目前正在這樣轉(zhuǎn))。但無論如何,Vxworks在一段長時間內(nèi)仍是不可動搖的。與Vxworks類似的稍有名的實時操作系統(tǒng)還有pSOS、QNX、Nucleus等RTOS。
第二類、嵌入式Linux操作系統(tǒng):
Linux的前途除作為服務(wù)器操作系統(tǒng)外,最成功的便是在嵌入式領(lǐng)域的應(yīng)用,原因當(dāng)然是免費、開源、支持軟件多、呼擁者眾,這樣嵌入式產(chǎn)品成本會低。Linux本身不是一個為嵌入式設(shè)計的操作系統(tǒng),不是微內(nèi)核的,并且實時性不強(qiáng)。目前應(yīng)用在嵌入式領(lǐng)域的Linux系統(tǒng)主要有兩類:一類是專為嵌入式設(shè)計的已被裁減過的Linux系統(tǒng),最常用的是uClinux(不帶MMU功能),目前占較大應(yīng)用份額,可在ARM7上跑;另一類是跑在ARM9上的,一般是將Linux2.4.18內(nèi)核移植在其上,可使用更多的Linux功能(當(dāng)然uClinux更可跑在ARM9上)。很多人預(yù)測,嵌入式Linux預(yù)計將占嵌入式操作系統(tǒng)的50%以上份額,非常重要。缺點是熟悉Linux的人太少,開發(fā)難度稍大。目前很多教材和很多大學(xué)都以ucOS/II為教學(xué)用實時操作系統(tǒng),這主要是由于ucOS/II較簡單,且開源,非常適合入門者學(xué)習(xí)實時操作系統(tǒng)原理,但ucOS/II的缺點是功能有限,實用用得較少,所以要學(xué)習(xí)就應(yīng)學(xué)直接實用的,比如uClinux就很實用。況且熟悉了Linux開發(fā),不僅在嵌入式領(lǐng)域有用,對開發(fā)Linux應(yīng)用軟件,對加深操作系統(tǒng)的認(rèn)識也有幫助,可謂一舉多得。據(jù)說,目前Intel、Philip都在大搞ARM+LINUX的嵌入式開發(fā),F(xiàn)ujitum則是在自己的處理器上大搞Linux開發(fā)。目前在嵌入式Linux領(lǐng)域,以下幾個方面的人特別難找,一是能將Linux移植到某個新型號的開發(fā)版上;二是能寫Linux驅(qū)動程序的人;三是熟悉Linux內(nèi)核裁減和優(yōu)化的人。
第三類、WindowsCE嵌入式操作系統(tǒng):
Microsoft也看準(zhǔn)了嵌入式的巨大市場,WinCE出來只有幾年時間,但目前已占據(jù)了很大市場份額,特別是在PDA、手機(jī)、顯示儀表等界面要求較高或者要求快速開發(fā)的場合,WinCE目前已很流行(據(jù)說有一家賣工控機(jī)的公司板子賣得太好,以至來不及為客戶裁減WinCE)。WinCE目前主要為4.2版(.NET),開發(fā)平臺主要為WinCEPlatformBuilder,有時也用EVC環(huán)境開發(fā)一些較上層的應(yīng)用,由于WinCE開發(fā)都是大家熟悉的VC++環(huán)境,所以學(xué)習(xí)Windows程序設(shè)計課程不會有多大難度,這也是WinCE容易被人們接受的原因,開發(fā)環(huán)境方便快速,微軟的強(qiáng)大技術(shù)支持,WinCE開發(fā)難度遠(yuǎn)低于嵌入式Linux。對于急于完成,不想拿嵌入式Linux冒險的開發(fā)場合,WinCE是最合適了(找嵌入式Linux的人可沒那么好找的),畢竟公司不能像學(xué)生學(xué)習(xí)那樣試試看,保證開發(fā)成功更重要。根據(jù)不同的側(cè)重點,WinCE還有兩個特殊版本,一個是MSPocketPC操作系統(tǒng)專用于PDA上(掌上電腦),另一個是MSSmartPhone操作系統(tǒng)用于智能手機(jī)上(帶PDA功能的手機(jī)),兩者也都屬于WinCE平臺。在PDA和手機(jī)市場上,除WinCE外,著名的PDA嵌入式操作系統(tǒng)還有PalmOS(因出現(xiàn)很早,很有名)、Symbian等,但在WinCE的強(qiáng)勁沖擊下,Palm和Symbian來日還能有多長?據(jù)觀察,目前在嵌入式平臺上,LINUX是叫得最響,但還是WinCE實際用得更多。嵌入式LINUX可能更多地是一些有長遠(yuǎn)產(chǎn)品計劃的公司,為降低成本而進(jìn)行長遠(yuǎn)考慮。WinCE和多媒體(如MPEG技術(shù))是微軟亞洲工程院目前做得較多的項目領(lǐng)域之一,他們很需要精通WinCE的人。
嵌入式操作系統(tǒng)的分類 篇2
目前我國已推出一些應(yīng)用比較成功的EOS產(chǎn)品系列。隨著Internet技術(shù)的發(fā)展、信息家電的普及應(yīng)用及EOS的微型化和專業(yè)化,EOS開始從單一的弱功能向高專業(yè)化的強(qiáng)功能方向發(fā)展。嵌人式操作系統(tǒng)在系統(tǒng)實時高效性、硬件的相關(guān)依賴性、軟件固態(tài)化以及應(yīng)用的專用性等方面具有較為突出的特點。EOS是相對于一般操作系統(tǒng)而言的,它除了是具備了一般的操作系統(tǒng)最基本的功能,比如:任務(wù)調(diào)度、同步機(jī)制、中斷處理、文件功能之外的話,它還含有以下的特針:
(1)可裝卸性:開放性、可伸縮性的體系結(jié)構(gòu)。
(2)強(qiáng)實時性:EOS實時性一般較強(qiáng),可用于各種設(shè)備控制當(dāng)中。
(3)統(tǒng)一的接口:提供各種設(shè)備驅(qū)動接入。
(4)操作方便、簡單、提供友好的圖形GUI,圖形界面,追求易學(xué)易用。
(5)提供強(qiáng)大的網(wǎng)絡(luò)功能,支持TCP/IP協(xié)議及其它協(xié)議,提供TCP/UDP/IP/PPP協(xié)議支持及統(tǒng)一的MAC訪問層接口,為各種移動計算設(shè)備預(yù)留接口。
(6)強(qiáng)穩(wěn)定性,弱交互性:嵌入式系統(tǒng)一旦開始運行就不需要用戶過多的干預(yù),這就要負(fù)責(zé)系統(tǒng)管理的EOS臭有較強(qiáng)的穩(wěn)定性。嵌入式操作系統(tǒng)的用戶接日一般不提供操作命令,它通過系統(tǒng)調(diào)用命令向用戶程序提供服務(wù)。
(7)固化代碼:在嵌入系統(tǒng)中,嵌入式操作系統(tǒng)和應(yīng)用軟件被固化在嵌入式系統(tǒng)計算機(jī)的ROM中。輔助存儲器在嵌入式系統(tǒng)中很少使用,因此,嵌入式操作系統(tǒng)的文件管理功能應(yīng)該能夠很容易地拆卸,而用各種內(nèi)存文件系統(tǒng)。
(8)更好的硬件適應(yīng)性,也就是良好的移植性。
國際上用于信息電器的嵌入式操作系統(tǒng)有40種左右,F(xiàn)在,市場上非常流行的EOS產(chǎn)品,包括3Corn公司下屬子公司的PalmOS,全球占有份額達(dá)50%,Microsoft公司的WindowsCE不過29%。在美國市場,PalmOS更以80%的占有率遠(yuǎn)超WindowsCE.開放源代碼的Linux很適于做信息家電的開發(fā)。
然而我們常見的嵌入式系統(tǒng)有:Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX、Rtems、QNX、INTEGRITY、OSE、CExecutive.嵌入式操作系統(tǒng)的發(fā)展也必將帶動新一輪的科技競爭。
嵌入式操作系統(tǒng)的分類 篇3
常見的嵌入式系統(tǒng)有這么多:
Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX、Rtems、QNX、INTEGRITY、OSE、CExecutive、autosar......
什么是嵌入式操作系統(tǒng)?
嵌入式操作系統(tǒng)是一種支持嵌入式系統(tǒng)應(yīng)用的操作系統(tǒng)軟件,它是嵌入式系統(tǒng)的重要組成部分。嵌入時操作系統(tǒng)具有通用操作系統(tǒng)的基本特點,能夠有效管理復(fù)雜的系統(tǒng)資源,并且把硬件虛擬化。
從應(yīng)用角度可分為通用型嵌入式操作系統(tǒng)和專用型嵌入式操作系統(tǒng)。常見的.通用型嵌入式操作系統(tǒng)有Linux、VxWorks、WindowsCE.net等。常用的專用型嵌入式操作系統(tǒng)有SmartPhone、PocketPC、Symbian等。
按實時性可分為兩類:
實時嵌入式操作系統(tǒng)主要面向控制、通信等領(lǐng)域。如WindRiver公司的VxWorks、ISI的pSOS、QNX系統(tǒng)軟件公司的QNX、ATI的Nucleus,很多汽車電子行業(yè)都是利用實時性很強(qiáng)的操作系統(tǒng)等。
非實時嵌入式操作系統(tǒng)主要面向消費類電子產(chǎn)品。這類產(chǎn)品包括PDA、移動電話、機(jī)頂盒、電子書、WebPhone等。如微軟面向手機(jī)應(yīng)用的SmartPhone操作系統(tǒng)。
嵌入式系統(tǒng)的設(shè)計和實現(xiàn)而言,基本上需要四種不同的工作:系統(tǒng)設(shè)計工作,硬件設(shè)計工作,驅(qū)動程序和操作系統(tǒng)移植工作和應(yīng)用程序設(shè)計開發(fā)工作。
1、系統(tǒng)設(shè)計工作
在系統(tǒng)的設(shè)計階段,系統(tǒng)分析師將根據(jù)需求確定系統(tǒng)的硬件的基本構(gòu)成,根據(jù)系統(tǒng)的需求選擇使用那種處理器,使用哪種操作系統(tǒng),使用那些軟件開發(fā)工具。系統(tǒng)分析師往往是較為完整的參與過嵌入式系統(tǒng)設(shè)計的全過程,對于系統(tǒng)應(yīng)用的行業(yè)較為了解,對于嵌入式系統(tǒng)本身的開發(fā)流程十分清楚的人。
2、硬件設(shè)計工作
系統(tǒng)硬件設(shè)計人員需要根據(jù)系統(tǒng)分析師的設(shè)計結(jié)果,進(jìn)行硬件原理圖的設(shè)計。通常需要硬件設(shè)計人員熟悉嵌入式系統(tǒng)的硬件構(gòu)成。硬件設(shè)計人員需要了解常用的嵌入式系統(tǒng)處理器,存儲器(Flash,SDRAM),以太網(wǎng)MAC芯片,音頻/視頻編解碼芯片,電源管理芯片,總線接口電路(USB,PCI),液晶顯示模塊,可編程邏輯器件(FPGA/CPLD),無線網(wǎng)絡(luò)通信模塊(Bluetooth,WLAN,GPRS)等硬件電路構(gòu)成元素的基本工作原理,連接使用方法,使用注意事項,基本調(diào)試方法等內(nèi)容。在網(wǎng)絡(luò)上能找到很多公司的評估板的原理圖,對于這些原理圖要仔細(xì)研究,摸清處理器同存儲器,網(wǎng)卡,液晶模塊等器件的連接方法和原因。通過對這些電路的研究,能夠較快地了解整個嵌入式系統(tǒng)的構(gòu)成,這些電路同實際產(chǎn)品中的電路雖有一定差別的,特別是對于手持設(shè)備,但這些差別不影響初學(xué)者學(xué)習(xí)嵌入式系統(tǒng)的硬件設(shè)計基本構(gòu)成。
1)學(xué)習(xí)Linux系統(tǒng)安裝、常用命令、應(yīng)用程序安裝。
2)學(xué)習(xí)Linux下的C編程、這本書必學(xué)《UNIX環(huán)境高級編程》、《UNIX 網(wǎng)絡(luò)編程》,RechardStevens寫的,C高手大都學(xué)習(xí)過《C和指針》、《C缺陷與陷阱》、《高質(zhì)量C/C++編程指南》、《C專家編程》、《TheCprogrammingLanguage》
3)程序員大都要學(xué):數(shù)據(jù)結(jié)構(gòu),嵌入式程序員數(shù)據(jù)結(jié)構(gòu)必學(xué)!
4)底層開發(fā)人員大都要學(xué):微機(jī)原理、計算機(jī)體系結(jié)構(gòu),嵌入式開發(fā)人員必學(xué)!
5)單片機(jī)可以讓一個從事軟件開發(fā)的人了解和如何操作硬件,有必要學(xué),因為一開始就從ARM入手,不太現(xiàn)實!
6)ARM體系結(jié)構(gòu),其中有匯編。
7)數(shù)字電路有必要學(xué)習(xí),不然你在做底層開發(fā)時真的會不知道怎么看原理圖,起碼也得懂與或門吧。
8)ARM+Linux應(yīng)用程序開發(fā)。(前提是要有開發(fā)板)
9)要做底層開發(fā),就必須知道軟硬件之間是如何銜接和配合工作的,那么電子技術(shù)應(yīng)該要好好學(xué)習(xí)了,很多時候會用到模擬電路知識,這是區(qū)別好手與菜鳥的不同之處之一。
10)Linux下的匯編要學(xué),這樣你才能真正了解你寫的程序是如何在一個特定的硬件上跑的。這是區(qū)別好手與菜鳥的不同之處之二。
11)TCP/IP協(xié)議棧要學(xué),所有的嵌入式高手都得掌握的東西,這是區(qū)別好手與菜鳥的不同之處之三。
12)有了這些東西,拿下Linux驅(qū)動已經(jīng)不再話下,需要你去學(xué)習(xí)Linux內(nèi)核源代碼和Linux驅(qū)動程序設(shè)計,這是一個技術(shù)升華。
13)音頻、視頻的解碼譯碼技術(shù)你得學(xué)。
14)各種IC,各種bootloader你能夠參與其開發(fā)設(shè)計。
15)自行設(shè)計開發(fā)新產(chǎn)品,新技術(shù)。
學(xué)到這個地步差不多要花個3年的時間吧。但是后面的路該怎么走呢?嵌入式系統(tǒng)性的東西搞了一個產(chǎn)品之后,基本上一些套路都摸清楚了。
不同的行業(yè),對于系統(tǒng)的要求是不一樣的,比如汽車行業(yè),航空航天行業(yè)等一些高精度,高安全的需要對實時性要求非常之高,對于安全性和可靠性的要求非常嚴(yán)格。而有些行業(yè)比如消費類產(chǎn)品,娛樂類的,生活用具方面的對于用戶體驗是不一樣的,數(shù)碼產(chǎn)品對于一些圖像聲音的處理,要求更高,需要高清,高品質(zhì)的。而對于一些通信設(shè)備類對于網(wǎng)絡(luò)的應(yīng)答數(shù)據(jù)傳輸要求就非常嚴(yán)格,等等。這些根據(jù)不同的要求,選擇符合自己的操作系統(tǒng),能對開發(fā)工作有更大的幫助。
嵌入式操作系統(tǒng)的分類 篇4
DOS
微軟一開始選用了派特森的Q-DOS“QUICKANDDISKOPERATINGSYSTEM”為基礎(chǔ)然后再擴(kuò)充功能而成MS-DOS,主要是采用由IBM提供的使用8088微處理器的計算機(jī)作開發(fā)平臺,它是以16字節(jié)單人單工操作系統(tǒng),特別適合一些功能簡單裝置使用。
WindowsCE
雖然微軟Windows系統(tǒng)已經(jīng)稱霸了PCDesktop環(huán)境。但是對于嵌入式系統(tǒng)這塊大餅,微軟也是垂涎已久,桌上型的Windows桌業(yè)系統(tǒng)對于嵌入式系統(tǒng)來說自然是太過于肥大的產(chǎn)物,于是微軟推出精簡版的WindowsCE作為進(jìn)攻嵌入式系統(tǒng)的主力。目前主要應(yīng)用于PDA上頭,但是跟微軟一系列Windows系統(tǒng)一般,WindowsCE也承襲了原有的缺點:耗系統(tǒng)資源、不穩(wěn)定、效率不佳等等。毛病實在太多,后來將整個架構(gòu)重新改寫后推出WindowsCE3.0版,或稱為PocketPC。改版之后的確改進(jìn)了不少缺點。
WindowsCE可應(yīng)用于PDA、WebPAD、ThinClient等等。是采用WindowsCE為操作系統(tǒng)的SIMPad(西門子公司所有)。
Palm
由PalmComputing公司的嵌入式操作系統(tǒng),目前最大的應(yīng)用在PDA,是市場占有率最高的PDA操作系統(tǒng),Palm操作系統(tǒng)架構(gòu)非常簡潔,因為少去了很多功能,如內(nèi)存管理、多任務(wù)等等,使得Palm可以非常不耗系統(tǒng)資源,硬件需求低,連帶的整體耗電量便可壓縮到非常低,因此采用Palm操作系統(tǒng)的PDA都有待機(jī)時間長的優(yōu)點。
EPOC
由英國手持裝置大廠Psion所開發(fā),常用于PDA與手機(jī)結(jié)合的場合。最有名的例子Nokia9110系列手機(jī),它就是采用EPOC系統(tǒng)。
著名的嵌入式實時系統(tǒng)
實時系統(tǒng)是嵌入式系統(tǒng)里頭非常重要的一環(huán),很多人都誤以為實時系統(tǒng)執(zhí)行速度非常快的系統(tǒng),事實上不然,所謂實時代表的意義是『實時反應(yīng)』,一般多人多任務(wù)操作系統(tǒng)如:Windows、UNIX,在上面執(zhí)行的軟件都一起分享CPU,因為CPU速度快,所以我們感覺好象可以同時執(zhí)行多支軟件,其實在系統(tǒng)內(nèi)部的同一時間內(nèi)都只有一個程序在執(zhí)行,每個軟件都必須排隊,而且規(guī)定只能用一小段時間后就要換下一位,但是因為CPU速度夠快,很快又可以被執(zhí)行到,所以人們感覺并不會很明顯軟件是一段一段在執(zhí)行。這是一般所謂的非實時性的操作系統(tǒng)運作模式,而實時操作系統(tǒng)具有立即反應(yīng)而且不能讓出資源的特性,例如汽車的ABS煞車系統(tǒng),如果不采用能夠立即反應(yīng)的實時系統(tǒng),后果可就不堪設(shè)想。而這類的應(yīng)用多半多屬體積小、功能簡單的地方,所以也算是嵌入式系統(tǒng)。QNX的QNXOS、WindRiver的VxWorks、Microware的OS9、pSOS等等,都是有名的嵌入式實時系統(tǒng)公司。
Linux
Linux不是都用來做服務(wù)器嗎?不然就是Cluster,怎么會跟嵌入式系統(tǒng)扯上關(guān)系?不要懷疑,Linux除了對伺服工作應(yīng)付自如外,嵌入式系統(tǒng)也難不倒Linux。
那么究竟Linux有怎樣獨特的能耐,可以想變大就變大想縮小就縮小?又用Linux來發(fā)展嵌入式系統(tǒng)有什么優(yōu)點?請看底下介紹。
開放原始碼、模塊化設(shè)計
Linux采用GPL授權(quán),除了把原始碼公開以外,任何人都可以自由使用、修改、散布,而Linux核心本身采模塊化設(shè)計,讓人很容易增減功能,例如我的平臺并不需要藍(lán)芽的功能,我只要不把這項功能加入,有需要就加入,不需要就刪除,由于這樣的高的彈性,我們可以調(diào)校出最適合我們硬件平臺的核心出來。
相較于Linux,Windows是走封閉原始碼路線,所以我們完全無法得知或修改它的核心部份。另外因為是采用GPL授權(quán)自然就沒有什么權(quán)利金或保密協(xié)議的約束。
穩(wěn)定性夠
Linux不屬于任何一家公司,但是它的開發(fā)人員卻是全世界最多的,每天在全球都有無數(shù)的人參與LinuxKernel的改進(jìn)、除錯、測試,這樣嚴(yán)苛的條件造就了穩(wěn)定度高的Linux。
就因為如此,Linux雖不是商業(yè)的產(chǎn)物但是品質(zhì)卻不遜于商業(yè)產(chǎn)品。
網(wǎng)絡(luò)功能強(qiáng)大
Linux的架構(gòu)是參造UNIX系統(tǒng)而來,因此Linux也承襲了UNIX強(qiáng)大的網(wǎng)絡(luò)功能。在這個每樣事情都講求網(wǎng)絡(luò)的時代下,只能說是Linux大放異彩的年代。未來可能家里的電冰箱、冷氣、電視機(jī)都會連上網(wǎng)絡(luò),如何增加這些家電的網(wǎng)絡(luò)功能,Linux可以替他們辦到。
跨平臺
Linux一開始是基于Intel386機(jī)器而設(shè)計,但是隨著網(wǎng)絡(luò)的散布,各式各樣的需求涌現(xiàn),因此就有許多工程師致力于各式平臺的移植,造成了Linux可以在x86、MIPS、ARM/StrongARM、PowerPC、Motorola68k、HitachiSH3/SH4、Transmeta..等等平臺上運作的盛況。這些平臺幾乎涵蓋了所有嵌入式系統(tǒng)所需的CPU,因此選擇Linux就可以把更多的硬件平臺納入考量的范圍。
嵌入式環(huán)境不如x86PC那樣單純,嵌入式環(huán)境所采用的CPU架構(gòu)之多,使用Linux作開發(fā),就等于有更多硬件的選擇,硬件成本是商業(yè)公司考量的一大重點,選擇多自然可以找到最合適的硬件,對于公司的競爭力是有極大的幫助。
應(yīng)用軟件眾多
自由軟件世界里有個很大的特色就是軟件超級多,而且?guī)缀醵际欠螱PL標(biāo)準(zhǔn),換句話說,大家都可以自由取用,因為這些軟件多半是由工程師業(yè)余空暇時間所發(fā)展,而且不以營利為性質(zhì),所以并不能擔(dān)保這些軟件完全沒有BUG,但是仍舊有許多殺手級的軟件出現(xiàn),大家熟知的KDE與GNOME便是很好的證明,當(dāng)然與嵌入式系統(tǒng)較為相關(guān)如:gcc編譯器、Kdevelop整合式開發(fā)環(huán)境等等。
通常我們都會先在PC端造出仿真出嵌入式的環(huán)境,并直接在上頭開發(fā),因此用的工具也都與開發(fā)一般Desktop軟件類似,良好的工具能夠增加開發(fā)的速度。
選擇多樣
如果公司有能力可以自己實作Linux嵌入式系統(tǒng),因為程序代碼全部都開放在那里,您可以隨心所欲的設(shè)計出自己想要的EmbeddedLinux系統(tǒng),但是有更多的公司的業(yè)務(wù)重點不在于此,這時候您也可以選擇購買商業(yè)版的EmbeddedLinux系統(tǒng),像是有名的Redhat公司、Lineo、MontaVista..等等,這些都是商業(yè)的Linux公司,購買他們的產(chǎn)品就可以得到完整的服務(wù)。因此商業(yè)或非商業(yè)全都在于您的需求。
自行開發(fā)系統(tǒng)
當(dāng)然您也可以自行開發(fā)系統(tǒng),嚴(yán)格控制硬件,但是相對的必須投注更大的成本在于研發(fā)系統(tǒng)上,原則上如果目標(biāo)簡單明確只是一些基本的I/O控制,例如:跑馬燈。便適合自己開發(fā),但是如果系統(tǒng)過于復(fù)雜則必須審慎評估自行研發(fā)的難度與時程的控管。
嵌入式操作系統(tǒng)的分類 篇5
進(jìn)程的同步(直接制約):synchronism
指系統(tǒng)中一些進(jìn)程需要相互合作,共同完成一項任務(wù)。具體說,一個進(jìn)程運行到某一點時要求另一伙伴進(jìn)程為它提供消息,在未獲得消息之前,該進(jìn)程處于等待狀態(tài),獲得消息后被喚醒進(jìn)入就緒態(tài)。同步是指在互斥的基礎(chǔ)上(大多數(shù)情況),通過其它機(jī)制實現(xiàn)訪問者對資源的有序訪問。在大多數(shù)情況下,同步已經(jīng)實現(xiàn)了互斥,特別是所有寫入資源的情況必定是互斥的。少數(shù)情況是指可以允許多個訪問者同時訪問資源。
進(jìn)程的互斥(間接制約)mutualexclusion
由于各進(jìn)程要求共享資源,而有些資源需要互斥使用,因此各進(jìn)程間競爭使用這些資源,進(jìn)程的這種關(guān)系為進(jìn)程的互斥。某一資源同時只允許一個訪問者對其進(jìn)行訪問,具有唯一性和排它性。但互斥無法限制訪問者對資源的訪問順序,即訪問是無序的。
相關(guān)概念:
互斥:指多個進(jìn)程不能同時使用同一個資源;
死鎖:指多個進(jìn)程互不相讓,都得不到足夠的資源;
饑餓:指一個進(jìn)程一直得不到資源(其他進(jìn)程可能輪流占用資源)
臨界資源:系統(tǒng)中某些資源一次只允許一個進(jìn)程使用,稱這樣的資源為臨界資源或互斥資源或共享變量
臨界區(qū):進(jìn)程中訪問臨界資源的一段代碼。
臨界區(qū)問題
臨界區(qū)(criticalsection):進(jìn)程中訪問臨界資源的一段代碼。
進(jìn)入?yún)^(qū)(entrysection):在進(jìn)入臨界區(qū)之前,檢查可否進(jìn)入臨界區(qū)的一段代碼。如果可以進(jìn)入臨界區(qū),通常設(shè)置相應(yīng)"正在訪問臨界區(qū)"標(biāo)志
退出區(qū)(exitsection):用于將"正在訪問臨界區(qū)"標(biāo)志清除。
剩余區(qū)(remaindersection):代碼中的其余部分。
使用臨界區(qū)應(yīng)遵循的準(zhǔn)則
有空讓進(jìn):當(dāng)無進(jìn)程在臨界區(qū)時,任何有權(quán)使用臨界區(qū)的進(jìn)程可進(jìn)入
無空等待:不允許兩個以上的進(jìn)程同時進(jìn)入臨界區(qū)
多中擇一:當(dāng)沒有進(jìn)程在臨界區(qū),而同時有多個進(jìn)程要求進(jìn)入臨界區(qū),只能讓其中之一進(jìn)入臨界區(qū),其他進(jìn)程必須等待
有限等待:任何進(jìn)入臨界區(qū)的要求應(yīng)在有限的時間內(nèi)得到滿足
讓權(quán)等待:處于等待狀態(tài)的進(jìn)程應(yīng)放棄占用CPU
平等競爭:任何進(jìn)程無權(quán)停止其它進(jìn)程的運行進(jìn)程之間相對運行速度無硬性規(guī)定
Linux下的進(jìn)程包含以下幾個關(guān)鍵要素:
有一段可執(zhí)行程序;
有專用的系統(tǒng)堆?臻g;
內(nèi)核中有它的控制塊(進(jìn)程控制塊),描述進(jìn)程所占用的資源,這樣,進(jìn)程才能接受內(nèi)核的調(diào)度;
具有獨立的存儲空間
進(jìn)程和線程有時候并不完全區(qū)分,而往往根據(jù)上下文理解其含義。
嵌入式操作系統(tǒng)的分類 篇6
1、緒論
電控機(jī)械式自動變速器(AutomaticMechanicalTransmission,AMT)具有傳動效率高、成本低、操作容易、駕駛舒適等優(yōu)點,已成為車輛自動變速器發(fā)展的一個重要方向。AMT的核心部件是電控單元(TCU),實時采集和檢測輸入信號(發(fā)動機(jī)轉(zhuǎn)速、輸入軸轉(zhuǎn)速和車速,油門踏板位置、節(jié)氣門開度、變速箱油溫等以及各種狀態(tài)信號)并進(jìn)行調(diào)理、存儲,同時,TCU根據(jù)這些運行參數(shù)進(jìn)行工況判斷并發(fā)出控制信號,完成車輛的平穩(wěn)起步或自動換擋,從而使車輛獲得優(yōu)良的舒適性、燃油經(jīng)濟(jì)性與動力性能。較之傳統(tǒng)的控制器,TCU有更多的傳感器,執(zhí)行器以及更為復(fù)雜的控制算法,若TCU設(shè)計不合理,難以滿足實時性與可靠性的要求,同時,如果換擋規(guī)律不合理,汽車難以獲得較好的燃油經(jīng)濟(jì)性和動力性。本文從TCU硬件和軟件設(shè)計做了相應(yīng)的介紹。
2、TCU軟件設(shè)計
TCU軟件部分的核心是控制策略,其主要部分是最佳換擋規(guī)律。本控制器采用兩種換擋控制策略,即經(jīng)濟(jì)性換擋規(guī)律,綜合性換規(guī)律,通過模式選擇開關(guān)進(jìn)行切換,使用Simulink搭建的換擋控制策略。
Simulink模型無法直接燒寫到單片機(jī)中運行,編寫好的程序通過Simulink提供的RTW工具生成可用的C代碼,編寫接口嵌入到軟件系統(tǒng)中。生成的C代碼是上層核心算法程序,只提供與底層程序的接口,而底層程序則須自己編寫并留出對應(yīng)接口和上層代碼對應(yīng)接口進(jìn)行連接[3]。然后把相應(yīng)的C代碼添加到CCS中的工程文件中,并編寫代碼的接口,實現(xiàn)軟件三部分的無縫連接;其中驅(qū)動程序包括信號輸入通道設(shè)置與信號處理驅(qū)動程序、輸出通道設(shè)置與輸出處理、通信設(shè)置與數(shù)據(jù)轉(zhuǎn)換。
3、TCU硬件設(shè)計
根據(jù)TCU的功能需求,把硬件電路劃分以下幾個部分:信號采集輸入調(diào)理電路、執(zhí)行器控制電路以及主控電路。
(1)主控電路:TCU的硬件電路選擇了TMS320F2812主控芯片,兩個16位通用定時器,以負(fù)責(zé)離合器轉(zhuǎn)速信號、車速信號等脈沖信號的采集;8個16位的脈寬調(diào)制(PWM)通道、可以實現(xiàn)對離合器電磁閥、換擋電磁閥的控制;16通道A/D轉(zhuǎn)換器,在采集節(jié)氣門位置、離合器位置等傳感器輸入的多路模擬信號的應(yīng)用中,可以簡化硬件,提高系統(tǒng)可靠性;擁有改進(jìn)的局域網(wǎng)絡(luò)(eCAN)支持CAN2.0B協(xié)議,以實現(xiàn)串行信號的輸入輸出以及與汽車發(fā)動機(jī)ECU的信息交換,實現(xiàn)ECU之間的CAN通信。
(2)輸入電路:對于主控芯片TMS320F2812芯片上帶有AD轉(zhuǎn)換模塊的處理芯片,其輸入的模擬信號需要經(jīng)過簡單的濾波、放大后才可接入DSP。開關(guān)量信號采用光電隔離來實現(xiàn)信號的轉(zhuǎn)換,數(shù)字信號調(diào)理部分的作用是將仿正弦信號經(jīng)過處理后,變成電平范圍在DSP允許范圍內(nèi)的方波信號。數(shù)字信號調(diào)理部分的設(shè)計采用先濾波后整形,最后光電隔離的辦法。
(3)TMS320F2812主控芯片EV外設(shè)提供的PWM外設(shè)功能,對電路進(jìn)行控制,但,由控制器輸出的PWM波的峰值電壓只有5V,不足以驅(qū)動電磁閥,這就需要電磁閥驅(qū)動電路將PWM控制信號的功率進(jìn)行放大,從而控制電磁閥正常工作。
4、結(jié)論
自行設(shè)計了TCU軟硬件,對設(shè)計的TCU做了相應(yīng)的硬件在環(huán)試驗,利用RealTimeWorkshop實現(xiàn)控制模型向C代碼的轉(zhuǎn)化,優(yōu)化后下載到TCU,進(jìn)行了硬件在環(huán)仿真實驗,篇幅有限,本文不做具體說明。試驗結(jié)果表明,設(shè)計的該TCU,能按照控制策略實時、準(zhǔn)確、可靠的控制AMT的換擋過程,同時,同時獲得了較好的經(jīng)濟(jì)性以及動力性能。為AMT控制器的開發(fā)提供了參考。
【關(guān)于嵌入式操作系統(tǒng)的分類】相關(guān)文章:
操作系統(tǒng)的發(fā)展與分類11-18
2017最新嵌入式操作系統(tǒng)uCLinux分析11-16
關(guān)于操作系統(tǒng)的補(bǔ)丁11-21
關(guān)于操作系統(tǒng)簡介11-14