嵌入式系統(tǒng)課程-ucos嵌入式實(shí)時(shí)操作系統(tǒng)_第1頁
嵌入式系統(tǒng)課程-ucos嵌入式實(shí)時(shí)操作系統(tǒng)_第2頁
嵌入式系統(tǒng)課程-ucos嵌入式實(shí)時(shí)操作系統(tǒng)_第3頁
嵌入式系統(tǒng)課程-ucos嵌入式實(shí)時(shí)操作系統(tǒng)_第4頁
嵌入式系統(tǒng)課程-ucos嵌入式實(shí)時(shí)操作系統(tǒng)_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

主要內(nèi)容1324嵌入式系統(tǒng)簡(jiǎn)介嵌入式處理器嵌入式操作系統(tǒng)嵌入式系統(tǒng)典型應(yīng)用5嵌入式系統(tǒng)的基本設(shè)計(jì)過程RTOS介紹

實(shí)時(shí)操作系統(tǒng)的特點(diǎn)POSIX表示可移植操作系統(tǒng)接口(PortableOperatingSystemInterfaceofUnix操作系統(tǒng)的發(fā)展計(jì)算機(jī)系統(tǒng)由硬件和軟件構(gòu)成,在發(fā)展初期并沒有操作系統(tǒng)這個(gè)概念,用戶使用監(jiān)控程序來使用計(jì)算機(jī)。隨著計(jì)算機(jī)技術(shù)的發(fā)展,計(jì)算機(jī)系統(tǒng)的硬件、軟件資源越來越豐富,監(jiān)控程序已不能適應(yīng)計(jì)算機(jī)應(yīng)用的要求。于是在六十年代中期監(jiān)控程序進(jìn)一步發(fā)展形成了操作系統(tǒng)。到目前為止,主流的操作系統(tǒng)有三種:多道批處理、分時(shí)和實(shí)時(shí)操作系統(tǒng)。嵌入式操作系統(tǒng)結(jié)構(gòu)操作系統(tǒng)分類(架構(gòu))微內(nèi)核(micro-kernel)單晶內(nèi)核,單內(nèi)核(monolithickernel)混合內(nèi)核(hybridkernel)外核(exokernal)今天Linux是一個(gè)一體化內(nèi)核(monolithickernel)系統(tǒng)。設(shè)備驅(qū)動(dòng)程序可以完全訪問硬件。Linux內(nèi)的設(shè)備驅(qū)動(dòng)程序可以方便地以模塊化(modularize)的形式設(shè)置,并在系統(tǒng)運(yùn)行期間可直接裝載或卸載。技術(shù)上說Linux是一個(gè)內(nèi)核。“內(nèi)核”指的是一個(gè)提供硬件抽象層、磁盤及文件系統(tǒng)控制、多任務(wù)等功能的系統(tǒng)軟件。一個(gè)內(nèi)核不是一套完整的操作系統(tǒng)。一套基于Linux內(nèi)核的完整操作系統(tǒng)叫作Linux操作系統(tǒng),或是GNU/Linux。內(nèi)核概念內(nèi)核是操作系統(tǒng)最基本的部分。它是為眾多應(yīng)用程序提供對(duì)計(jì)算機(jī)硬件的安全訪問的一部分軟件,這種訪問是有限的,并且內(nèi)核決定一個(gè)程序在什么時(shí)候?qū)δ巢糠钟布僮鞫嚅L(zhǎng)時(shí)間。直接對(duì)硬件操作是非常復(fù)雜的,所以內(nèi)核通常提供一種硬件抽象的方法來完成這些操作。硬件抽象隱藏了復(fù)雜性,為應(yīng)用軟件和硬件提供了一套簡(jiǎn)潔,統(tǒng)一的接口,使程序設(shè)計(jì)更為簡(jiǎn)單。嚴(yán)格地說,內(nèi)核并不是計(jì)算機(jī)系統(tǒng)中必要的組成部分。程序可以直接地被調(diào)入計(jì)算機(jī)中執(zhí)行,這樣的設(shè)計(jì)說明了設(shè)計(jì)者不希望提供任何硬件抽象和操作系統(tǒng)的支持,它常見于早期計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)中。最終,一些輔助性程序,例如程序加載器和調(diào)試器,被設(shè)計(jì)到機(jī)器核心當(dāng)中,或者固化在只讀存儲(chǔ)器里。這些變化發(fā)生時(shí),操作系統(tǒng)內(nèi)核的概念就漸漸明晰起來了。內(nèi)核是操作系統(tǒng)的核心組件,由操作系統(tǒng)中用于管理存儲(chǔ)器、文件、外設(shè)和系統(tǒng)資源的那些部分組成。因而,內(nèi)核結(jié)構(gòu)往往對(duì)操作系統(tǒng)的外部特性以及應(yīng)用領(lǐng)域有著一定程度的影響。盡管隨著理論和實(shí)踐的不斷演進(jìn),操作系統(tǒng)高層特性與內(nèi)核結(jié)構(gòu)之間的耦合有日趨縮小之勢(shì),但習(xí)慣上,內(nèi)核結(jié)構(gòu)仍然是操作系統(tǒng)分類之常用標(biāo)準(zhǔn)。內(nèi)核通常運(yùn)行進(jìn)程并在這些進(jìn)程中提供進(jìn)程之間的通信。公共核心函數(shù)包括調(diào)度和同步事件、進(jìn)程間的通信(消息傳遞)、內(nèi)存管理、進(jìn)程管理以及輸入和輸出例程的管理。操作系統(tǒng)內(nèi)核的功能:支撐功能(包括中斷處理、時(shí)鐘管理、原語操作);資源管理功能(包括進(jìn)程管理、存儲(chǔ)器管理、設(shè)備管理)。內(nèi)核的結(jié)構(gòu)可以分為單內(nèi)核(monolithickernel)、微內(nèi)核、(microkernel)、超微內(nèi)核(nanokernel)、以及外核(exokernel等。單內(nèi)核也叫集中式操作系統(tǒng)。整個(gè)系統(tǒng)是一個(gè)大模塊,可以被分為若干邏輯模塊,即處理器管理、存儲(chǔ)器管理、設(shè)備管理和文件管理,其模塊間的交互是通過直接調(diào)用其他模塊中的函數(shù)實(shí)現(xiàn)的。單內(nèi)核結(jié)構(gòu)是操作系統(tǒng)中各核心部件雜然混居的形態(tài),該結(jié)構(gòu)于1960年代,是操作系統(tǒng)內(nèi)核與外圍分離時(shí)的最初形態(tài)。微內(nèi)核是指把操作系統(tǒng)結(jié)構(gòu)中的內(nèi)存管理、設(shè)備管理、文件系統(tǒng)等高級(jí)服務(wù)功能盡可能地從內(nèi)核中分離出來,變成幾個(gè)獨(dú)立的非內(nèi)核模塊,而在內(nèi)核只保留少量最基本的功能,使內(nèi)核變得簡(jiǎn)潔可靠,因此叫微內(nèi)核。微內(nèi)核結(jié)構(gòu)是1980年代產(chǎn)生出來的較新的內(nèi)核結(jié)構(gòu),強(qiáng)調(diào)結(jié)構(gòu)性部件與功能性部件的分離。20世紀(jì)末,基于微內(nèi)核結(jié)構(gòu),理論界中又發(fā)展出了超微內(nèi)核與外內(nèi)核等多種結(jié)構(gòu)。盡管自1980年代起,大部分理論研究都集中在以微內(nèi)核為首的“新興”結(jié)構(gòu)之上,然而,在應(yīng)用領(lǐng)域之中,以單內(nèi)核結(jié)構(gòu)為基礎(chǔ)的操作系統(tǒng)卻一直占據(jù)著主導(dǎo)地位。微內(nèi)核和超微內(nèi)核結(jié)構(gòu)主要用于研究性操作系統(tǒng),還有一些嵌入式系統(tǒng)使用外核。單內(nèi)核,單晶內(nèi)核微內(nèi)核外核內(nèi)核分類單內(nèi)核它為潛在的硬件提供了大量完善的硬件抽象操作。微內(nèi)核只提供了很小一部分的硬件抽象,大部分功能由一種特殊的用戶態(tài)程序:服務(wù)器來完成。混合內(nèi)核它很像微內(nèi)核結(jié)構(gòu),只不過它的的組件更多的在核心態(tài)中運(yùn)行,以獲得更快的執(zhí)行速度。外內(nèi)核這種內(nèi)核不提供任何硬件抽象操作,但是允許為內(nèi)核增加額外的運(yùn)行庫,通過這些運(yùn)行庫應(yīng)用程序可以直接地或者接近直接地對(duì)硬件進(jìn)行操作。目錄1內(nèi)核分類

1.1單內(nèi)核

1.2微內(nèi)核

1.3單內(nèi)核與微內(nèi)核的比較

1.4混合內(nèi)核

1.5外內(nèi)核

2無核

3參考

參見:內(nèi)核百科.mht嵌入式操作系統(tǒng)實(shí)時(shí)操作系統(tǒng)的特點(diǎn)IEEE的實(shí)時(shí)UNIX分委會(huì)認(rèn)為實(shí)時(shí)操作系統(tǒng)應(yīng)具備以下的幾點(diǎn):異步的事件響應(yīng)切換時(shí)間和中斷延遲時(shí)間確定優(yōu)先級(jí)中斷和調(diào)度搶占式調(diào)度內(nèi)存鎖定連續(xù)文件同步嵌入式操作系統(tǒng)實(shí)時(shí)操作系統(tǒng)的特點(diǎn)總的來說實(shí)時(shí)操作系統(tǒng)是事件驅(qū)動(dòng)的,能對(duì)來自外界的作用和信號(hào)在限定的時(shí)間范圍內(nèi)作出響應(yīng)。它強(qiáng)調(diào)的是實(shí)時(shí)性、可靠性和靈活性,與實(shí)時(shí)應(yīng)用軟件相結(jié)合成為有機(jī)的整體起著核心作用,由它來管理和協(xié)調(diào)各項(xiàng)工作,為應(yīng)用軟件提供良好的運(yùn)行軟件環(huán)境及開發(fā)環(huán)境。從實(shí)時(shí)系統(tǒng)的應(yīng)用特點(diǎn)來看實(shí)時(shí)操作系統(tǒng)可以分為兩種:一般實(shí)時(shí)操作系統(tǒng)和嵌入式實(shí)時(shí)操作系統(tǒng)。嵌入式操作系統(tǒng)實(shí)時(shí)操作系統(tǒng)的特點(diǎn)一般實(shí)時(shí)操作系統(tǒng)應(yīng)用于實(shí)時(shí)處理系統(tǒng)的上位機(jī)和實(shí)時(shí)查詢系統(tǒng)等實(shí)時(shí)性較弱的實(shí)時(shí)系統(tǒng),并且提供了開發(fā)、調(diào)試、運(yùn)用一致的環(huán)境。

嵌入式實(shí)時(shí)操作系統(tǒng)應(yīng)用于實(shí)時(shí)性要求高的實(shí)時(shí)控制系統(tǒng),而且應(yīng)用程序的開發(fā)過程是通過交叉開發(fā)來完成的,即開發(fā)環(huán)境與運(yùn)行環(huán)境是不一致。嵌入式實(shí)時(shí)操作系統(tǒng)具有規(guī)模小(一般在幾K~幾十K內(nèi))、可固化使用實(shí)時(shí)性強(qiáng)(在毫秒或微秒數(shù)量級(jí)上)的特點(diǎn)。嵌入式操作系統(tǒng)基本概念

對(duì)基于芯片的開發(fā)來說,應(yīng)用程序一般是一個(gè)無限的循環(huán),可稱為前后臺(tái)系統(tǒng)或超循環(huán)系統(tǒng)。很多基于微處理器的產(chǎn)品采用前后臺(tái)系統(tǒng)設(shè)計(jì),例如微波爐、電話機(jī)、玩具等。在另外一些基于微處理器應(yīng)用中,從省電的角度出發(fā),平時(shí)微處理器處在停機(jī)狀態(tài),所有事都靠中斷服務(wù)來完成。——前后臺(tái)系統(tǒng)基本概念

中斷服務(wù)程序處理異步事件,這部分可以看成前臺(tái)行為,前臺(tái)也叫中斷級(jí)。時(shí)間相關(guān)性很強(qiáng)的關(guān)鍵操作一定是靠中斷服務(wù)程序來保證的。循環(huán)中調(diào)用相應(yīng)的函數(shù)完成相應(yīng)的操作,這部分可以看成后臺(tái)行為,后臺(tái)也可以叫做任務(wù)級(jí)。這種系統(tǒng)在處理的及時(shí)性上比實(shí)際可以做到的要差。ISRISRISRISR后臺(tái)前臺(tái)中斷服務(wù)程序時(shí)間——前后臺(tái)系統(tǒng)嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)基本概念

操作系統(tǒng)是計(jì)算機(jī)中最基本的程序。操作系統(tǒng)負(fù)責(zé)計(jì)算機(jī)系統(tǒng)中全部軟硬資源的分配與回收、控制與協(xié)調(diào)等并發(fā)的活動(dòng);操作系統(tǒng)提供用戶接口,使用戶獲得良好的工作環(huán)境;操作系統(tǒng)為用戶擴(kuò)展新的系統(tǒng)功能提供軟件平臺(tái)?!僮飨到y(tǒng)硬件硬件驅(qū)動(dòng)操作系統(tǒng)用戶程序嵌入式操作系統(tǒng)基本概念

實(shí)時(shí)操作系統(tǒng)是一段在嵌入式系統(tǒng)啟動(dòng)后首先執(zhí)行的背景程序,用戶的應(yīng)用程序是運(yùn)行于RTOS之上的各個(gè)任務(wù),RTOS根據(jù)各個(gè)任務(wù)的要求,進(jìn)行資源(包括存儲(chǔ)器、外設(shè)等)管理、消息管理、任務(wù)調(diào)度、異常處理等工作。在RTOS支持的系統(tǒng)中,每個(gè)任務(wù)均有一個(gè)優(yōu)先級(jí),RTOS根據(jù)各個(gè)任務(wù)的優(yōu)先級(jí),動(dòng)態(tài)地切換各個(gè)任務(wù),保證對(duì)實(shí)時(shí)性的要求?!獙?shí)時(shí)操作系統(tǒng)(RTOS)嵌入式操作系統(tǒng)基本概念

代碼的臨界區(qū)也稱為臨界區(qū),指處理時(shí)不可分割的代碼,運(yùn)行這些代碼不允許被打斷。一旦這部分代碼開始執(zhí)行,則不允許任何中斷打入(這不是絕對(duì)的,如果中斷不調(diào)用任何包含臨界區(qū)的代碼,也不訪問任何臨界區(qū)使用的共享資源,這個(gè)中斷可能可以執(zhí)行)。為確保臨界區(qū)代碼的執(zhí)行,在進(jìn)入臨界區(qū)之前要關(guān)中斷,而臨界區(qū)代碼執(zhí)行完成以后要立即開中斷。——代碼的臨界區(qū)嵌入式操作系統(tǒng)基本概念

程序運(yùn)行時(shí)可使用的軟、硬件環(huán)境統(tǒng)稱為資源。資源可以是輸入輸出設(shè)備,例如打印機(jī)、鍵盤、顯示器。資源也可以是一個(gè)變量、一個(gè)結(jié)構(gòu)或一個(gè)數(shù)組等。——資源任務(wù)A共享資源任務(wù)B任務(wù)C信號(hào)量嵌入式操作系統(tǒng)基本概念

可以被一個(gè)以上任務(wù)使用的資源叫做共享資源。為了防止數(shù)據(jù)被破壞,每個(gè)任務(wù)在與共享資源打交道時(shí),必須獨(dú)占該資源,這叫做互斥。——共享資源訪問共享資源之前申請(qǐng)信號(hào)量其它任務(wù)訪問受阻而不能使用共享資源得到允許后,才能使用共享資源程序清單2.9用信號(hào)量管理緩沖區(qū)BUF*BufReq(void){BUF*ptr;Acquireasemaphore;Disableinterrupts;ptr=BufFreeList;BufFreeList=ptr->BufNext;Enableinterrupts;return(ptr);}voidBufRel(BUF*ptr){Disableinterrupts;ptr->BufNext=BufFreeList;BufFreeList=ptr;Enableinterrupts;Releasesemaphore;}圖F2.12計(jì)數(shù)式信號(hào)量的用法系統(tǒng)先將該緩沖區(qū)指針插入到空閑緩沖區(qū)鏈表中(Linkedlist)然后再給信號(hào)量加1或釋放該信號(hào)量。

死鎖同步事件標(biāo)志任務(wù)間通信消息郵箱消息隊(duì)列嵌入式操作系統(tǒng)基本概念

一個(gè)任務(wù),也稱作一個(gè)線程,是一個(gè)簡(jiǎn)單的程序,該程序可以認(rèn)為CPU完全屬于該程序自己。實(shí)時(shí)應(yīng)用程序的設(shè)計(jì)過程,包括如何把問題分割成多個(gè)任務(wù),每個(gè)任務(wù)都是整個(gè)應(yīng)用的某一部分,每個(gè)任務(wù)被賦予一定的優(yōu)先級(jí),有它自己的一套CPU寄存器和自己的??臻g?!蝿?wù)典型地、每個(gè)任務(wù)都是一個(gè)無限的循環(huán)。每個(gè)任務(wù)都處在以下5種狀態(tài)之一的狀態(tài)下,這5種狀態(tài)是休眠態(tài),就緒態(tài)、運(yùn)行態(tài)、掛起態(tài)(等待某一事件發(fā)生)和被中斷態(tài)。任務(wù)的5種狀態(tài)休眠態(tài)相當(dāng)于該任務(wù)駐留在內(nèi)存中,但并不被多任務(wù)內(nèi)核所調(diào)度。就緒態(tài)意味著該任務(wù)已經(jīng)準(zhǔn)備好,可以運(yùn)行了,但由于該任務(wù)的優(yōu)先級(jí)比正在運(yùn)行的任務(wù)的優(yōu)先級(jí)低,還暫時(shí)不能運(yùn)行。運(yùn)行態(tài)的任務(wù)是指該任務(wù)掌握了CPU的控制權(quán),正在運(yùn)行中。掛起狀態(tài)也可以叫做等待事件態(tài)WAITING,指該任務(wù)在等待,等待某一事件的發(fā)生,(例如等待某外設(shè)的I/O操作,等待某共享資源由暫不能使用變成能使用狀態(tài),等待定時(shí)脈沖的到來或等待超時(shí)信號(hào)的到來以結(jié)束目前的等待,等等)。被中斷狀態(tài)。發(fā)生中斷時(shí),CPU提供相應(yīng)的中斷服務(wù),原來正在運(yùn)行的任務(wù)暫不能運(yùn)行,就進(jìn)入被中斷狀態(tài)。嵌入式操作系統(tǒng)基本概念

當(dāng)多任務(wù)內(nèi)核決定運(yùn)行另外的任務(wù)時(shí),它保存正在運(yùn)行任務(wù)的當(dāng)前狀態(tài),即CPU寄存器中的全部?jī)?nèi)容。這些內(nèi)容保存在任務(wù)的當(dāng)前狀態(tài)保存區(qū),也就是任務(wù)自已的棧區(qū)之中。入棧工作完成以后,就把下一個(gè)將要運(yùn)行的任務(wù)的當(dāng)前狀態(tài)從任務(wù)的棧中重新裝入CPU的寄予存器,并開始下一個(gè)任務(wù)的運(yùn)行。這個(gè)過程就稱為任務(wù)切換。這個(gè)過程增加了應(yīng)用程序的額外負(fù)荷。CPU的內(nèi)部寄存器越多,額外負(fù)荷就越重。做任務(wù)切換所需要的時(shí)間取決于CPU有多少寄存器要入棧。——任務(wù)切換嵌入式操作系統(tǒng)基本概念

多任務(wù)系統(tǒng)中,內(nèi)核負(fù)責(zé)管理各個(gè)任務(wù),或者說為每個(gè)任務(wù)分配CPU時(shí)間,并且負(fù)責(zé)任務(wù)之間的通信。內(nèi)核提供的基本服務(wù)是任務(wù)切換。使用實(shí)時(shí)內(nèi)核可以大大簡(jiǎn)化應(yīng)用系統(tǒng)的設(shè)計(jì),是因?yàn)閷?shí)時(shí)內(nèi)核允許將應(yīng)用分成若干個(gè)任務(wù),由實(shí)時(shí)內(nèi)核來管理它們。內(nèi)核需要消耗一定的系統(tǒng)資源,比如2%~5%的CPU運(yùn)行時(shí)間、RAM和ROM等。內(nèi)核提供必不可少的系統(tǒng)服務(wù),如信號(hào)量、消息隊(duì)列、延時(shí)等。——內(nèi)核嵌入式操作系統(tǒng)基本概念

調(diào)度是內(nèi)核的主要職責(zé)之一。調(diào)度就是決定該輪到哪個(gè)任務(wù)運(yùn)行了。多數(shù)實(shí)時(shí)內(nèi)核是基于優(yōu)先級(jí)調(diào)度法的。每個(gè)任務(wù)根據(jù)其重要程序的不同被賦予一定的優(yōu)先級(jí)?;趦?yōu)先級(jí)的調(diào)度法指CPU總是讓處在就緒態(tài)的優(yōu)先級(jí)最高的任務(wù)先運(yùn)行。然而究竟何時(shí)讓高優(yōu)先級(jí)任務(wù)掌握CPU的使用權(quán),有兩種不同的情況,這要看用的是什么類型的內(nèi)核,是非占先式的還是占先式的內(nèi)核?!{(diào)度嵌入式操作系統(tǒng)基本概念

非占先式內(nèi)核要求每個(gè)任務(wù)自我放棄CPU的所有權(quán)。非占先式調(diào)度法也稱作合作型多任務(wù),各個(gè)任務(wù)彼此合作共享一個(gè)CPU。異步事件還是由中斷服務(wù)來處理。中斷服務(wù)可以使一個(gè)高優(yōu)先級(jí)的任務(wù)由掛起狀態(tài)變?yōu)榫途w狀態(tài)。但中斷服務(wù)以后控制權(quán)還是回到原來被中斷了的那個(gè)任務(wù),直到該任務(wù)主動(dòng)放棄CPU的使用權(quán)時(shí),那個(gè)高優(yōu)先級(jí)的任務(wù)才能獲得CPU的使用權(quán)?!钦枷仁絻?nèi)核嵌入式操作系統(tǒng)基本概念

當(dāng)系統(tǒng)響應(yīng)時(shí)間很重要時(shí),要使用占先式內(nèi)核。因此絕大多數(shù)商業(yè)上銷售的實(shí)時(shí)內(nèi)核都是占先式內(nèi)核。最高優(yōu)先級(jí)的任務(wù)一旦就緒,總能得到CPU的控制權(quán)。當(dāng)一個(gè)運(yùn)行著的任務(wù)使一個(gè)比它優(yōu)先級(jí)高的任務(wù)進(jìn)入了就緒狀態(tài),當(dāng)前任務(wù)的CPU使用權(quán)就被剝奪了,或者說被掛起了,那個(gè)高優(yōu)先級(jí)的任務(wù)立刻得到了CPU的控制權(quán)。如果是中斷服務(wù)子程序使一個(gè)高優(yōu)先級(jí)的任務(wù)進(jìn)入就緒態(tài),中斷完成時(shí),中斷了的任務(wù)被掛起,優(yōu)先級(jí)高的那個(gè)任務(wù)開始運(yùn)行?!枷仁絻?nèi)核嵌入式操作系統(tǒng)基本概念——任務(wù)優(yōu)先級(jí)——靜態(tài)優(yōu)先級(jí)——?jiǎng)討B(tài)優(yōu)先級(jí)——優(yōu)先級(jí)反轉(zhuǎn)嵌入式操作系統(tǒng)

中斷是一種硬件機(jī)制,用于通知CPU有個(gè)異步事件發(fā)生了。中斷一旦被識(shí)別,CPU保存部分(或全部)上下文即部分或全部寄存器的值,跳轉(zhuǎn)到專門的子程序,稱為中斷服務(wù)子程序(ISR)。中斷服務(wù)子程序做事件處理,處理完成后,程序回到:1.在前后臺(tái)系統(tǒng)中,程序回到后臺(tái)程序;2.對(duì)非占先式內(nèi)核而言,程序回到被中斷了的任務(wù);3.對(duì)占先式內(nèi)核而言,讓進(jìn)入就緒態(tài)的優(yōu)先級(jí)最高的任務(wù)開始運(yùn)行。——中斷前后臺(tái)系統(tǒng)嵌入式操作系統(tǒng)基本概念——中斷ISR任務(wù)ISR非占先操作系統(tǒng)任務(wù)A任務(wù)B任務(wù)CISR占先操作系統(tǒng)任務(wù)A任務(wù)B任務(wù)C嵌入式操作系統(tǒng)基本概念

時(shí)鐘節(jié)拍是特定的周期性中斷。這個(gè)中斷可以看作是系統(tǒng)心臟的脈動(dòng)。中斷之間的時(shí)間間隔取決于不同應(yīng)用,一般在10ms到200ms之間。時(shí)鐘的節(jié)拍式中斷使得內(nèi)核可以將任務(wù)延時(shí)若干個(gè)整數(shù)時(shí)鐘節(jié)拍,以及當(dāng)任務(wù)等待事件發(fā)生時(shí),提供等待超時(shí)的依據(jù)。時(shí)鐘節(jié)拍率越快,系統(tǒng)的額外開銷就越大。——時(shí)鐘節(jié)拍使用嵌入式操作系統(tǒng)的優(yōu)缺點(diǎn)優(yōu)點(diǎn)使程序的設(shè)計(jì)和擴(kuò)展變得容易,大大提高了開發(fā)效率。充分發(fā)揮32位CPU多任務(wù)的潛力,實(shí)現(xiàn)多任務(wù)設(shè)計(jì),能夠充分利用硬件資源和實(shí)現(xiàn)資源共享。實(shí)時(shí)性和健壯性能夠得到更好的保證。缺點(diǎn)嵌入式操作系統(tǒng)增加ROM/RAM等額外開銷,5~10%的CPU額外負(fù)荷。嵌入式操作系統(tǒng)分類按收費(fèi)模式劃分商用型Vxworks,Nucleux,PlamOS,Symbian,WinCE,QNX,pSOS,VRTX,LynxOS,Hopen,DeltaOS免費(fèi)型Linux,μCLinux,μC/OS-Ⅱ,eCos,uITRON按實(shí)時(shí)性劃分硬實(shí)時(shí)Vxworks軟實(shí)時(shí)WinCE,RTLinux無實(shí)時(shí)EmbeddedLinux

Linux是開放源碼和免費(fèi)使用的,遍布全球的眾多Linux愛好者又是Linux開發(fā)的強(qiáng)大技術(shù)后盾。嵌入式Linux(EmbeddedLinux)是指對(duì)Linux經(jīng)過小型化裁剪后,能夠固化在容量只有幾百K字節(jié)或幾兆字節(jié)的存儲(chǔ)器芯片或單片機(jī)中,應(yīng)用于特定嵌入式場(chǎng)合的專用Linux操作系統(tǒng)。嵌入式Linux的開發(fā)和研究是目前操作系統(tǒng)領(lǐng)域的一個(gè)熱點(diǎn)。主要有RTLinux和CLinuxLinux的內(nèi)核小、功能強(qiáng)大、API豐富,系統(tǒng)健壯、效率高,易于定制剪裁,在價(jià)格上極具競(jìng)爭(zhēng)力。Linux不僅支持x86CPU,還可以支持其他數(shù)十種CPU芯片。近幾年Linux在嵌入式領(lǐng)域異軍突起,過去的一年中有13%的用戶已經(jīng)開始使用嵌入式Linux系統(tǒng)進(jìn)行開發(fā)工作;有52%的用戶決定在未來24個(gè)月內(nèi)開始使用Linux作為嵌入式操作系統(tǒng)的開發(fā)原型。嵌入式Linux及應(yīng)用μcLinuxWindowsEmbeddedWindowsCE:一種針對(duì)小容量、移動(dòng)式、智能化、32位、連接設(shè)備的模塊化實(shí)時(shí)嵌入式操作系統(tǒng)(縮減的Win95)。針對(duì)掌上設(shè)備、無線設(shè)備的動(dòng)態(tài)應(yīng)用程序和服務(wù)提供了一種功能豐富的操作系統(tǒng)平臺(tái),屬于軟實(shí)時(shí)操作系統(tǒng),由于其Windows背景,界面比較統(tǒng)一認(rèn)可??梢允褂么蠖鄶?shù)Windows開發(fā)工具(如VB,VC等),大多數(shù)Windows應(yīng)用程序經(jīng)過移植后就可以運(yùn)行在WinCE平臺(tái)上。操作系統(tǒng)的基本內(nèi)核需要至少200K的ROM。VxWorksVxWorks操作系統(tǒng)是美國WindRiver公司于1983年設(shè)計(jì)開發(fā)的一種嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS),具有良好的持續(xù)發(fā)展能力、高性能的內(nèi)核以及友好的用戶開發(fā)環(huán)境,在嵌入式實(shí)時(shí)操作系統(tǒng)領(lǐng)域牢牢占據(jù)著一席之地。VxWorks所具有的顯著特點(diǎn)是: -可靠性、實(shí)時(shí)性和可裁減性。 -它支持多種處理器,如x86、i960、SunSparc、MotorolaMC68xxx、MIPS、POWERPC等等。以其良好的可靠性和卓越的實(shí)時(shí)性被廣泛地應(yīng)用在通信、軍事、航空航天等高精尖技術(shù)及實(shí)時(shí)性要求極高的領(lǐng)域中,如火星探測(cè)器(1997年7月4日登陸火星表面)。SymbianOSSymbian由諾基亞、西門子、索尼愛立信等幾家大型移動(dòng)通訊設(shè)備商共同出資組建的一個(gè)合資公司,專門研發(fā)手機(jī)操作系統(tǒng)。Symbian操作系統(tǒng)的前身是EPOC。針對(duì)PDA及智能手機(jī)的,能夠提供良好的軟實(shí)時(shí)的操作系統(tǒng),目前占有60%的智能手機(jī)市場(chǎng)與之競(jìng)爭(zhēng)的有WindowsMobile、PalmOS以及Linux主要版本Series60/90/80/40UIQPalmOSPalmOS是著名的網(wǎng)絡(luò)設(shè)備制造商3COM旗下的PalmComputing掌上電腦公司的產(chǎn)品。PalmOS是一套專門為掌上電腦編寫的操作系統(tǒng),充分考慮到了掌上電腦內(nèi)存相對(duì)較小的情況,所以Palm操作系統(tǒng)本身所占的內(nèi)存很小,基于Palm操作系統(tǒng)編寫的應(yīng)用程序所占的空間也很小,通常只有幾十KB,因此基于Palm操作系統(tǒng)的掌上電腦雖然只有幾兆內(nèi)存卻可以運(yùn)行眾多的應(yīng)用程序。PalmOS在PDA市場(chǎng)上占有很大的市場(chǎng)份額,PalmOS的市場(chǎng)份額占到將近90%,最近下降70%,目前主要與WINCE進(jìn)行激烈競(jìng)爭(zhēng)。代表性的產(chǎn)品有Palmm505、Palmm500、PalmIII等。QNX加拿大QNX公司的產(chǎn)品。QNX是在X86體系上面開發(fā)出來的,這和別的RTOS不一樣,別的好多RTOS都是從68K的CPU上面開發(fā)成熟,然后再移植到X86體系上面來的。QNX是一個(gè)實(shí)時(shí)的、可擴(kuò)充的操作系統(tǒng),它部分遵循POSIX相關(guān)標(biāo)準(zhǔn),由于QNX具有強(qiáng)大的圖形界面功能,因此很適合作為機(jī)頂盒、手持設(shè)備(手掌電腦、手機(jī))、GPS設(shè)備的實(shí)時(shí)操作系統(tǒng)使用。C/OS及C/OS-IIC/OS—MicroControllerOSC/OS簡(jiǎn)介美國人JeanLabrosse1992年完成,已應(yīng)用于數(shù)百種產(chǎn)品中。應(yīng)用面覆蓋了諸多領(lǐng)域,如照相機(jī)、醫(yī)療器械、音響設(shè)備、發(fā)動(dòng)機(jī)控制、高速公路電話系統(tǒng)、自動(dòng)提款機(jī)等1998年C/OS-II,目前的版本C/OS-IIV2.722000年,得到美國航空管理局(FAA)的認(rèn)證,可以用于飛行器中是一個(gè)源碼公開、可移植、可裁減、占用資源少、搶先式的實(shí)時(shí)多任務(wù)操作系統(tǒng)。其絕大部分源碼采用ANSIC寫的,移植性好。高校教學(xué)可免費(fèi)使用。網(wǎng)站www.ucos-II.com()公開源代碼可移植性(Portable)

絕大部分

C/OS-II的源碼是用移植性很強(qiáng)的ANSIC寫的。和微處理器硬件相關(guān)的那部分是用匯編語言寫的。匯編語言寫的部分已經(jīng)壓到最低限度,使得

C/OS-II便于移植到其他微處理器上。

C/OS-II可以在絕大多數(shù)8位、16位、32位以至64位微處理器、微控制器、數(shù)字信號(hào)處理器(DSP)上運(yùn)行??晒袒≧OMa

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論