(計算機(jī)應(yīng)用技術(shù)專業(yè)論文)nucleus體系結(jié)構(gòu)分析及應(yīng)用研究.pdf_第1頁
(計算機(jī)應(yīng)用技術(shù)專業(yè)論文)nucleus體系結(jié)構(gòu)分析及應(yīng)用研究.pdf_第2頁
(計算機(jī)應(yīng)用技術(shù)專業(yè)論文)nucleus體系結(jié)構(gòu)分析及應(yīng)用研究.pdf_第3頁
(計算機(jī)應(yīng)用技術(shù)專業(yè)論文)nucleus體系結(jié)構(gòu)分析及應(yīng)用研究.pdf_第4頁
(計算機(jī)應(yīng)用技術(shù)專業(yè)論文)nucleus體系結(jié)構(gòu)分析及應(yīng)用研究.pdf_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

摘要 嵌入式系統(tǒng)是當(dāng)前微電子技術(shù)和計算機(jī)技術(shù)中最熱門的概念之 一。而嵌入式操作系統(tǒng)則是嵌入式系統(tǒng)技術(shù)中最重要的一個組成部 分。它整合了操作系統(tǒng)、網(wǎng)絡(luò)、多媒體、文字信息處理等多項軟件技 術(shù),極大地推動了嵌入式技術(shù)在各個領(lǐng)域的發(fā)展,給人們的工作和生 活帶來了極大的便利。當(dāng)前主流的嵌入式操作系統(tǒng)有v x w o r k s 、 w i n d o w sc e 、u c l i n u x 、n u c l e u s 、u c o si i 等等。其中搶先式實時 多任務(wù)操作系統(tǒng)n u c l e u s ,以其精簡的內(nèi)核、強(qiáng)實時性和高可靠性, 深受廣大用戶的喜愛。本文以嵌入式操作系統(tǒng)n u c l e u s 體系結(jié)構(gòu)分析 為重點,詳細(xì)闡明了n u c l e u s 的內(nèi)核結(jié)構(gòu)特點并深入研究了相關(guān)算法 的改進(jìn)和系統(tǒng)功能的擴(kuò)展,最后以具體實例說明了n u c l e u s 在實際開 發(fā)中的應(yīng)用。 由于嵌入式操作系統(tǒng)的內(nèi)核構(gòu)建技術(shù)將直接影響到系統(tǒng)的性能; 因此,n u c l e u s 體系結(jié)構(gòu)分析以系統(tǒng)內(nèi)核研究為中心,從任務(wù)管理、 中斷管理、線程調(diào)度策略、任務(wù)通信與同步、內(nèi)存管理等角度深入地 分析了n u c l e u s 的內(nèi)核結(jié)構(gòu)組成。同時將n u c l e u s 與其它常用的嵌入 式系統(tǒng)u c l i n u x 、u c 0 si i 的內(nèi)核進(jìn)行了比較,從進(jìn)程調(diào)度策略、文 件系統(tǒng)、系統(tǒng)的移植性等方面分析了三者的不同點和相似之處。 在此基礎(chǔ)之上,針對嵌入式系統(tǒng)任務(wù)的調(diào)度,文章提出了一種基 于模糊理論的任務(wù)調(diào)度算法,它利用模糊集合來描述任務(wù)的不確定性 特征;使用多層模糊綜合評判和最大隸屬度原理來綜合考慮任務(wù)的多 個特征參數(shù)并確定任務(wù)的優(yōu)先級;采用動態(tài)構(gòu)建多層評判模型的調(diào)度 策略來減小任務(wù)優(yōu)先級評判的失效率。此外,文章還討論了一種基于 三層容錯技術(shù)的n u c l e u s 操作系統(tǒng)功能擴(kuò)充。它利用“冗余”的思想、 分層檢測和處理錯誤的方法屏蔽了故障的影響,提高了嵌入式系統(tǒng)的 可靠性,具有非?,F(xiàn)實的意義。 最后,論文闡述了嵌入式操作系統(tǒng)n u c l e u s 的實際應(yīng)用開發(fā) 手機(jī)下的人體健康檢測。手機(jī)中處理器采用a r m 7 ;嵌入式操作系統(tǒng)采 用n u c l e u s 。它通過串口接收采樣到的人體生理數(shù)據(jù),并經(jīng)過相關(guān)算 法處理分析得出人體的各項生理指標(biāo)。目前,該項目正在商品化。 關(guān)鍵詞:嵌入式操作系統(tǒng)n u c l e u s 模糊集合調(diào)度策略 a b s t r a c t e m b e d d e ds y s t e mi so n eo ft h em o s tf a v o r i t ef o rm i c r o e l e c t r o n i c s t e c h n o l o g ya n dc o m p u t e rt e c h n o l o g yn o w a d a y s e m b e d d e do p e r a t i o n s y s t e mi so n eo ft h em o s ti m p o r t a n tc o n s t i t u e n to fe m b e d d e ds y s t e m i t i n t e g r a t e sm a n ys o f t w a r et e c h n i q u e s ,s u c ha so p e r a t i o ns y s t e m , n e t w o r k , m u l t i m e d i a , c h a r a c t e r si n f o r m a t i o np r o c e s s i n ga n ds oo n i th a s e m b e d d e ds y s t e md e v e l o p e di no t h e rf i e l da n db r i n g sc o n v e n i e n c et o p e o p l e s w o r ke n v i r o n m e n ta n dd a i l y l i f e n o w a d a y s ,t h ep o p u l a r o p e r a t i o ns y s t e m sa v x w o r k s ,w n d o w sc e ,u c l i n u x ,n u c l e u s , u c o s - i ia n ds oo n a m o n gt h e m , n u c l e u sw i l lb ev e r yf a v o r a b l e b e c a u s eo fi t sh i g hr e a l - t i m eq u a l i t y , d e p e n d a b i l i t ya n ds i m p l i f i e dk e r n e l a n a l y s i so fn u c l e u ss y s t e ms t r u c t u r e ,s t u d yo fk e r n e la r i t h m e t i c , e x p a n d i n go fs y s t e mf u n c t i o na n d a p p l i c a t i o no fn u c l e u sw i l lb e i n t r o d u c e di nt h i sp a p e r t e c h n i q u eo fk e r n e ld e s i g ni n f l u e n c e st h eq u a l i t yo fe m b e d d e d s y s t e md i r e c t l y t h e r e f o r e ,a n a l y s i so fn u c l e u ss y s t e ms t r u c t u r et a k e s k e r n e lr e s e a r c ha sc e n t e r i ta n a l y z e sn u c l e u sk e r n e ld e 印l yi nt a s k m a n a g e m e n t , i n t e r r u p tm a n a g e m e n t ,s c h e d u l i n gp o l i c ya n dm e m o r y m a n a g e m e n tf i e l d s t h i s a r t i c l ec o m p a r e sn u c l e u sw i t h u c l i n u x , u c o s h ,a n dg e t sd i f f e r e n c e sa n dl i k e n e s s e si ns c h e d u l i n gp o l i c y , d o c u m e n ts y s t e ma n ds y s t e m r e p l a n t i n gf i e l d s a tt h i sf o u n d a t i o no n , a i m i n gs c h e d u l i n go fe m b e d d e d s y s t e mt a s k s , i ti sp r e s e n t e dt h a tas c h e d u l i n ga l g o r i t h mb a s e do nf u z z yt h e o r y i tm a k e s u s eo ff u z z ys e t sf o rd e s c r i b i n gu n c e r t a i nc h a r a c t e r i s t i c p a r a m e t e r s , m u l t i l e v e l f u z z ys y n t h e t i cd e c i s i o na n dt h ep r i n c i p l eo fm a x i m u m m e m b e r s h i pf u n c t i o nf o rd e t e r m i n i n gt a s kp r i o r i t yl e v e l ,a na l g o r i t h m w h i c hm a k em u l t i l e v e ld e c i s i o nm o d e ld y n a m i c a l l yf o rd e c r e a s i n g i n v a l i d a t i o nr a t i oo fj u d g i n gt a s kp r i o r i t yl e v e l i na d d i t i o n , t h i sa r t i c l e d i s c u s s e sat e c h n o l o g yo ff a u l tt o l e r a n c e i tm a k e su s eo fr e d u n d a n c y t h o u g h ta n dl a y e r e dm e t h o do fh a n d i n gf a u l t s t os h i e l ds y s t e m b r e a k d o w n i ti m p r o v e st h ed e p e n d a b i l i t yo fs y s t e ma n dh a sr e a l i s t i c m e a n i n g i nt h ee n d ,t h i st h e s i se l a b e r a t e sa l la c t u a la p p l i c a t i o no fn u c l e u s s y s t e m , h u m a nb o d ye x a mu s i n gm o b i l ep h o n e p r o c e s s o ro fm o b i l e p h o n ei sa r m 7 a n de m b e d d e do p e r a t i o ns y s t e mo fm o b i l ep h o n ei s n u c l e u s i tg e t ss a m p l ed a t ao fh u m a nb o d yp h y s i o l o g yt h r o u g hu a r t a n da c h i e v e sa l lk i n d so fa n a l y t i c a lr e s u l t so fh u m a nb o d yp h y s i o l o g y a e c o r d i i l gt or e l a t e da r i t h m e t i c c u r r e n t l y , t h i sp r o j e c ti sc o m m e r c i a l i z i n g k e yw o r d s :e m b e d d e do p e r a t i o n s y s t e m ,n u c l e u s ,f u z z ys e t , s c h e d u l i n gp o l i c y i l l 原創(chuàng)性聲明 本人聲明,所呈交的學(xué)位論文是本人在導(dǎo)師指導(dǎo)下進(jìn)行的研究 工作及取得的研究成果。盡我所知,除了論文中特別加以標(biāo)注和致謝 的地方外,論文中不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果,也不 包含為獲得中南大學(xué)或其他單位的學(xué)位或證書而使用過的材料。與我 共同工作的同志對本研究所作的貢獻(xiàn)均已在本論文中作了明確的說 明。 作者簽名: 殖握 日期:2 z 司釷月望日 關(guān)于學(xué)位論文使用授權(quán)說明 本人了解中南大學(xué)有關(guān)保留、使用學(xué)位論文的規(guī)定,即:學(xué)校 有權(quán)保留學(xué)位論文,允許學(xué)位論文被查閱和借閱;學(xué)??梢怨紝W(xué)位 論文的全部或部分內(nèi)容,可以采用復(fù)印、縮印或其它手段保存學(xué)位論 文;學(xué)??筛鶕?jù)國家或湖南省有關(guān)部門規(guī)定送交學(xué)位論文。 作者簽名:衄導(dǎo)師簽名;4 塵 私期:釁立月丑日 作者簽名:壟紐 導(dǎo)師簽名褂期:釁立月丑日 中南人學(xué)碩士學(xué)位論文第一章緒論 1 1 研究背景 第一章緒論 隨著嵌入式技術(shù)不斷地發(fā)展,嵌入式操作系統(tǒng)已被廣泛應(yīng)用在汽車電子、航 空航天、工業(yè)控制、醫(yī)療儀器等眾多領(lǐng)域。對于這些嵌入式產(chǎn)品而言,嵌入式系 統(tǒng)操作的性能往往是成為產(chǎn)品質(zhì)量保證的關(guān)鍵因素之一。 一個真正的嵌入式系統(tǒng)往往在可靠性和效率上都有著極高的要求,為此需要 采用多種技術(shù)來保證。如任務(wù)調(diào)度策略、內(nèi)存分配及、軟件的多版本技術(shù)、錯誤 檢測與恢復(fù)等。這往往增加了系統(tǒng)設(shè)計的復(fù)雜性,使得這樣一個系統(tǒng)的設(shè)計過程 需要經(jīng)歷很長時間,投入大量的人力和物力才能達(dá)到最終的設(shè)計要求。而且這樣 設(shè)計出來的系統(tǒng),又往往是基于專用的硬件和軟件,從而使得整個系統(tǒng)的升級、 移植以及可維護(hù)性等受到了很大的影響。 嵌入式操作系統(tǒng)的出現(xiàn),為嵌入式系統(tǒng)的設(shè)計和發(fā)展提供了強(qiáng)大的推動力。 最初的嵌入式系統(tǒng)并沒有嵌入式操作系統(tǒng)的支持。在那時,由于受內(nèi)存大小以及 處理器能力的限制,程序設(shè)計往往用匯編代碼來實現(xiàn),而對于多個任務(wù)的并發(fā)執(zhí) 行,則完全靠設(shè)計人員的手工安排來保證。隨著芯片制造技術(shù)以及程序語言的發(fā) 展,漸漸涌現(xiàn)出許多基于高級語言的編程技術(shù)隊及基于高級語言的嵌入式操作系 統(tǒng)。而內(nèi)存制造技術(shù)的提高,使得嵌入式系統(tǒng)不再受限于幾k 、幾十k 的小內(nèi)存, 而向幾兆甚至幾百兆的范圍擴(kuò)展,這也為嵌入式操作系統(tǒng)在實際應(yīng)用場合提供了 基礎(chǔ)。嵌入式操作系統(tǒng)的使用提高了開發(fā)效率,縮短了開發(fā)周期。在嵌入式操作 系統(tǒng)環(huán)境下,開發(fā)一個復(fù)雜的應(yīng)用程序,通??梢园凑哲浖こ讨械慕怦钤瓌t將 整個程序分解為多個任務(wù)模塊。每個任務(wù)模塊的調(diào)試、修改幾乎不影響其他模塊。 大量的實踐經(jīng)驗也證明,嵌入式操作系統(tǒng)的引入可以極大地簡化嵌入式系統(tǒng)設(shè)計 過程,節(jié)約人力物力的投入,具有很高的應(yīng)用價值。 嵌入式操作系統(tǒng)伴隨著嵌入式技術(shù)的發(fā)展,從過去簡單專用的程序發(fā)展到現(xiàn) 在可在多個嵌入式處理器上通用的操作系統(tǒng),已經(jīng)取得了長足的進(jìn)步。但是它仍 然存在許多需要改進(jìn)的地方。例如,怎樣加強(qiáng)嵌入式系統(tǒng)的可靠性、實時性;如 何提高系統(tǒng)任務(wù)執(zhí)行的效率;如何提升操作系統(tǒng)的容錯能力等。目前主流的嵌入 式操作系統(tǒng),無倫是通過對l i n u x 改造而成的嵌入式l i n u x ,還是已有的如 v x w o r k s 、n u l e u e s 、u c o s i i 等,對于高可靠性應(yīng)用中所需要的實時性能和容 錯機(jī)制都還不盡人所意。因此,如何將嵌入式操作系統(tǒng)和實時系統(tǒng)相結(jié)合,設(shè)計 出一個可靠的、可維護(hù)的、內(nèi)核結(jié)構(gòu)靈活,能夠滿足眾多應(yīng)用領(lǐng)域所需要的強(qiáng)實 中南大學(xué)碩士學(xué)位論文第一章緒論 時性和高容錯能力的嵌入式實時系統(tǒng)成為當(dāng)前急需解決的一個問題。這也是本文 研究的重點之一。通過對嵌入式操作系統(tǒng)n u c l e u s 的內(nèi)核分析以及實時系統(tǒng)任務(wù) 調(diào)度算法、系統(tǒng)容錯方式的研究,本文提出了一種基于模糊理論的實時系統(tǒng)任務(wù) 調(diào)度算法和適用于嵌入式系統(tǒng)的三層容錯技術(shù),從而為在嵌入式操作系統(tǒng)在提高 實時性能和容錯能力上提供一個新的思路。同時,針對嵌入式操作系統(tǒng)n u c l e u s 內(nèi)核中關(guān)鍵技術(shù)任務(wù)管理、中斷管理、線程調(diào)度策略等問題也進(jìn)行了深入的研究。 1 2 嵌入式操作系統(tǒng)綜述 1 2 1 嵌入式系統(tǒng)與嵌入式操作系統(tǒng) 嵌入式系統(tǒng)是當(dāng)前微電子技術(shù)和計算機(jī)技術(shù)的一個重要的分支。由于其本身 是面向特定應(yīng)用的,因此它的概念也比較模糊。根據(jù)國際電氣和電子工程師協(xié)會 ( i e e e ) 給出的定義,嵌入式系統(tǒng)是:“d e v i c e su s e dt oc o n t r o l ,m o n i t o r , o ra s s i a t o fo p e r a t i o no fe q u i p m e n t ,m a c h i n e r yo rp l a n t s ”。由此可知, 嵌入式系統(tǒng)是軟件和硬件的綜合體。我們也可以廣義地認(rèn)為嵌入式系統(tǒng)是一個以 應(yīng)用為中心,以計算機(jī)技術(shù)為基礎(chǔ),并且軟硬件皆可裁減,適用于對功能、可靠 性、成本、體積、功耗有嚴(yán)格要求的專用計算機(jī)系統(tǒng)“1 。 嵌入式系統(tǒng)的架構(gòu)可以分為硬件和軟件兩大部分。硬件部分由嵌入式處理 器、存儲器、輸入設(shè)備、輸出設(shè)備等組成。這些單元與標(biāo)準(zhǔn)的計算機(jī)結(jié)構(gòu)相比, 是以比較特殊的形態(tài)存在的,例如說計算機(jī)的標(biāo)準(zhǔn)輸入是鍵盤,但是嵌入式產(chǎn)品 掌上電腦( p d a ) 的輸入設(shè)備可能就是它的觸摸屏。軟件部分主要是嵌入式操作 系統(tǒng)( r t o s ) 以及架設(shè)在其上的嵌入式應(yīng)用軟件。二者是一個緊密的結(jié)合體,通 常會被一同編譯連接并下載到嵌入式硬件載體中從而完成系統(tǒng)預(yù)定的功能。 嵌入式系統(tǒng)結(jié)構(gòu)圖如下: 廠 i 嵌入式操作系統(tǒng)和應(yīng)用軟件l 1一二。一 輸入 圖1 1 嵌入式系統(tǒng)組成 2 芑令輸出 中南人學(xué)碩七學(xué)位論文第一章緒論 自i n t e l 公司推出有史以來的第一顆微處理器4 0 0 4 開始,作為嵌入式系統(tǒng)硬 件核心的微處理器由最簡單的4 位、8 位模式發(fā)展到目前的1 6 位、3 2 位甚至6 4 位的 模式,尋址范圍、資源管理、編程方式變的越來越復(fù)雜,應(yīng)用的范圍也日益廣泛, 如果仍然按照簡單的循環(huán)控制對外界的控制請求進(jìn)行處理,每添加一項新的功 能,都可能需要從頭開始設(shè)計,沒有操作系統(tǒng)已成為嵌入式系統(tǒng)發(fā)展的一個最大 缺點了,為了適應(yīng)嵌入式應(yīng)用的復(fù)雜性和多樣性,并縮短其開發(fā)周期,作為嵌入 式系統(tǒng)的靈魂嵌入式操作系統(tǒng)應(yīng)運(yùn)而生。 嵌入式操作系統(tǒng)是一種支持嵌入式系統(tǒng)應(yīng)用的操作系統(tǒng)軟件,它是嵌入式系 統(tǒng)( 包括硬、軟件系統(tǒng)) 極為重要的組成部分,通常包括與硬件相關(guān)的底層驅(qū)動軟 件、系統(tǒng)內(nèi)核、設(shè)備驅(qū)動接口、通信協(xié)議、圖形界面、標(biāo)準(zhǔn)化瀏覽器等。嵌入式 操作系統(tǒng)具有通用操作系統(tǒng)的基本特點,如能夠有效管理越來越復(fù)雜的系統(tǒng)資 源;能夠把硬件虛擬化,使得開發(fā)人員從繁忙的驅(qū)動程序移植和維護(hù)中解脫出來; 能夠提供庫函數(shù)、驅(qū)動程序、工具集以及應(yīng)用程序接口( a p i ) ,使得嵌入式應(yīng) 用軟件開發(fā)變得更加容易。與通用操作系統(tǒng)相比較,嵌入式操作系統(tǒng)在系統(tǒng)實時 高效性、硬件的相關(guān)依賴性、軟件固態(tài)化以及應(yīng)用的專用性等方面具有較為突出 的特點。其系統(tǒng)構(gòu)架圖如下: :- - o i :i 。:j 。:。: : i 應(yīng)用程序1ii 應(yīng)用程序2ii 應(yīng)用程序3l : : i 匝麗i 網(wǎng)困麗匾網(wǎng) :廣 廠 : : l圖形用戶界面( g u i )il 網(wǎng)絡(luò)通訊協(xié)議l : ;l _ jl _ j ; i i文件系統(tǒng)li 應(yīng)用程序接口ii 函數(shù)庫支持l l llilli :j :j :j = j :j = :j :j :。:= : l操作系統(tǒng)內(nèi)核1 圖2 - 1 嵌入式操作系統(tǒng)構(gòu)架圖 嵌入式操作系統(tǒng)的引入,在應(yīng)用系統(tǒng)目標(biāo)軟件和硬件之間架起了一座橋梁, 大大減少了系統(tǒng)設(shè)計的復(fù)雜性。它能移植到各種不同類型的微處理器上,兼容性 好;操作系統(tǒng)內(nèi)核精小、效率高,并且具有高度的模塊化和擴(kuò)展性。在嵌入式 操作系統(tǒng)環(huán)境下開發(fā)應(yīng)用程序使程序的設(shè)計變得更加容易,應(yīng)用程序被分割成若 干獨立的任務(wù)模塊,不需要大的改動就可以增加新的功能。同時對實時性要求苛 刻的應(yīng)用任務(wù)也能夠得到了快速、可靠的處理??傊ㄟ^操作系統(tǒng)提供的高效 服務(wù),各種系統(tǒng)資源可以得到更充分的利用。 中南大學(xué)碩十學(xué)位論文 第一章緒論 i 2 2 嵌入式操作系統(tǒng)的分類 嵌入式操作系統(tǒng)按其內(nèi)核的實時性可以分為兩大類:一類是面向控制、通信 等領(lǐng)域的實時操作系統(tǒng);另一類是面向消費(fèi)電子產(chǎn)品的非實時操作系統(tǒng)“1 。 1 非實時式操作系統(tǒng) 由于早期的嵌入式系統(tǒng)中沒有操作系統(tǒng)的概念,所以程序員編寫嵌入式程序 通常直接面對裸機(jī)及設(shè)備。在這種情況下,通常把嵌入式程序分成兩部分,即前 臺程序和后臺程序。前臺程序通過中段來處理事件,其結(jié)構(gòu)一般為無限循環(huán);后 臺程序則掌管整個嵌入式系統(tǒng)軟、硬件資源的分配、管理以及任務(wù)的調(diào)度,是一 個系統(tǒng)管理調(diào)度程序。這就是通常所說的前后臺系統(tǒng)。一般情況下,后臺程序也 叫任務(wù)級程序,前臺程序也叫事件處理級程序。在程序運(yùn)行時,后臺程序檢查每 個任務(wù)是否具備運(yùn)行條件,通過一定的調(diào)度算法來完成相應(yīng)的操作。對于實時性 要求特別嚴(yán)格的操作通常由中斷來完成。 實際上,前后臺系統(tǒng)的實時性比預(yù)計的要差。這是因為前后臺系統(tǒng)認(rèn)為所有 的任務(wù)具有相同的優(yōu)先級別,即是平等的,而且任務(wù)的執(zhí)行又是通過f i f o 隊列排 隊,因而對那些實時性要求高的任務(wù)不可能立刻得到處理。另外,由于前臺程序 是一個無限循環(huán)的結(jié)構(gòu),一旦在這個循環(huán)體中正在處理的任務(wù)崩潰,使得整個任 務(wù)隊列中的其他任務(wù)得不到機(jī)會被處理,從而造成整個系統(tǒng)的崩潰。 2 實時式操作系統(tǒng) 實時系統(tǒng)( r e a lt i m es y s t e m ) 是一種能夠在指定或者確定時間內(nèi)完成系統(tǒng) 功能,并且對外部和內(nèi)部事件在同步或者異步時間內(nèi)能做出及時響應(yīng)的系統(tǒng)。在 實時系統(tǒng)中,操作的正確性不僅依賴于邏輯設(shè)計的正確程度,而且與這些操作進(jìn) 行的時間有關(guān),也就是說,實時系統(tǒng)對邏輯和時序的要求非常嚴(yán)格,如果邏輯和 時序控制出現(xiàn)偏差將會產(chǎn)生嚴(yán)重后果。 實時系統(tǒng)有兩種類型:軟實時系統(tǒng)和硬實時系統(tǒng)。軟實時系統(tǒng)僅要求事件響 應(yīng)是實時的,并不要求限定某一任務(wù)必須在多長時間內(nèi)完成;而在硬實時系統(tǒng)中, 不僅要求任務(wù)響應(yīng)要實時,而且要求在規(guī)定的時間內(nèi)完成事件的處理”。通常, 大多數(shù)實時系統(tǒng)是兩者的結(jié)合。實時應(yīng)用軟件的設(shè)計一般比非實時應(yīng)用軟件的設(shè) 計困難。實時系統(tǒng)的技術(shù)關(guān)鍵是如何保證系統(tǒng)的實時性。 實時多任務(wù)操作系統(tǒng)是指具有實時性、能支持實時控制系統(tǒng)工作的操作系 統(tǒng)。其首要任務(wù)是調(diào)度一切可利用的資源完成實時控制任務(wù),其次才著眼于提高 計算機(jī)系統(tǒng)的使用效率,重要特點是要滿足對時間的限制和要求。實時操作系統(tǒng) 具有如下功能:任務(wù)管理( 多任務(wù)和基于優(yōu)先級的任務(wù)調(diào)度) 、任務(wù)間同步和通信 ( 信號量和郵箱等) 、存儲器優(yōu)化管理( 含r o m 的管理) 、實時時鐘服務(wù)、中斷管理 服務(wù)。實時操作系統(tǒng)具有如下特點:規(guī)模小,中斷被屏蔽的時間很短,中斷處理 4 中南大學(xué)碩十學(xué)位論文第一章緒論 時間短,任務(wù)切換很快。 1 2 3 嵌入式實時操作系統(tǒng)的特點 雖然嵌入式實時操作系統(tǒng)已經(jīng)具備了許多系統(tǒng)功能,但是它與通用型操作系 統(tǒng)( 如w i n d o w s 、u n i x 等) 相比還是有很大的差別。下面我們將通過比較這兩類 操作系統(tǒng)之間的差別來描述實時操作系統(tǒng)的主要特點。 通用操作系統(tǒng)是由分時操作系統(tǒng)發(fā)展而來,大部分都支持多用戶和多進(jìn)程, 負(fù)責(zé)管理眾多的進(jìn)程并為它們分配系統(tǒng)資源。分時操作系統(tǒng)的基本設(shè)計原則是: 盡量縮短系統(tǒng)的平均響應(yīng)時間并提高系統(tǒng)的吞吐量,在單位時間內(nèi)為盡可能多的 用戶請求提供服務(wù)。由此可以看出,分時操作系統(tǒng)注重平均表現(xiàn)性能,不注重個 體表現(xiàn)性能。如對于整個系統(tǒng)來說,注重所有任務(wù)的平均響應(yīng)時間而不關(guān)心單個 任務(wù)的響應(yīng)時間,對于某個單個任務(wù)來說,注重每次執(zhí)行的平均響應(yīng)時間而不關(guān) 心某次特定執(zhí)行的響應(yīng)時問。 而對于嵌入式實時操作系統(tǒng),前面我們已經(jīng)提到,它除了要滿足應(yīng)用的功能 需求以外,更重要的是還要滿足應(yīng)用提出的實時性要求,而組成一個應(yīng)用的眾多 實時任務(wù)對于實時性的要求是各不相同的,此外實時任務(wù)之間可能還會有一些復(fù) 雜的關(guān)聯(lián)和同步關(guān)系,如執(zhí)行順序限制、共享資源的互斥訪問要求等,這就為系 統(tǒng)實時性的保證帶來了很大的困難。因此,實時操作系統(tǒng)所遵循的最重要的設(shè)計 原則是:采用各種算法和策略,始終保證系統(tǒng)行為的可預(yù)測性( p r e d i c t a b i l i t y ) 。 可預(yù)測性是指在系統(tǒng)運(yùn)行的任何時刻,在任何情況下,實時操作系統(tǒng)的資源調(diào)配 策略都能為爭奪資源( 包括c p u 、內(nèi)存、網(wǎng)絡(luò)帶寬等) 的多個實時任務(wù)合理地分配 資源,使每個實時任務(wù)的實時性要求都能得到滿足。與通用操作系統(tǒng)不同,實時 操作系統(tǒng)注重的不是系統(tǒng)的平均表現(xiàn),而是要求每個實時任務(wù)在最壞情況下都要 滿足其實時性要求,也就是說,實時操作系統(tǒng)注重的是個體表現(xiàn),更準(zhǔn)確地講是 個體最壞情況表現(xiàn)啪。舉例來說,如果實時操作系統(tǒng)采用標(biāo)準(zhǔn)的虛存技術(shù),則一 個實時任務(wù)執(zhí)行的最壞情況是每次訪存都需要調(diào)頁,如此累計起來的該任務(wù)在最 壞情況下的運(yùn)行時間是不可預(yù)測的,因此該任務(wù)的實時性無法得到保證。從而可 以看出在通用操作系統(tǒng)中廣泛采用的虛存技術(shù)在實時操作系統(tǒng)中不宜直接采用。 由于嵌入式實時操作系統(tǒng)與通用操作系統(tǒng)的基本設(shè)計原則差別很大,因此在 很多資源調(diào)度策略的選擇上以及操作系統(tǒng)實現(xiàn)的方法上兩者都具有較大的差異, 這些差異主要體現(xiàn)在以下幾點: 1 任務(wù)調(diào)度策略 通用操作系統(tǒng)中的任務(wù)調(diào)度策略一般采用基于優(yōu)先級的搶先式調(diào)度策略,對 于優(yōu)先級相同的進(jìn)程則采用時間片輪轉(zhuǎn)調(diào)度方式,用戶進(jìn)程可以通過系統(tǒng)調(diào)用動 5 中南人學(xué)碩士學(xué)位論文第一章緒論 態(tài)地調(diào)整自己的優(yōu)先級,操作系統(tǒng)也可根據(jù)情況調(diào)整某些進(jìn)程的優(yōu)先級。 實時操作系統(tǒng)中的任務(wù)調(diào)度策略目前使用最廣泛的主要可分為兩種,一種是 靜態(tài)表驅(qū)動方式,另一種是基于優(yōu)先級調(diào)度方式嘲。 靜態(tài)表驅(qū)動方式是指在系統(tǒng)運(yùn)行前工程師根據(jù)各任務(wù)的實時要求用手工的 方式或在輔助工具的幫助下生成一張任務(wù)的運(yùn)行時間表,這張時間表與列車的運(yùn) 行時刻表類似,指明了各任務(wù)的起始運(yùn)行時間以及運(yùn)行長度,運(yùn)行時問表一旦生 成就不再變化了,在運(yùn)行時調(diào)度器只需根據(jù)這張表在指定的時刻啟動相應(yīng)的任務(wù) 即可。靜態(tài)表驅(qū)動方式的主要優(yōu)點是: 運(yùn)行時間表是在系統(tǒng)運(yùn)行前生成的,因此可以采用較復(fù)雜的搜索算法找 到較優(yōu)的調(diào)度方案。 運(yùn)行時調(diào)度器開銷較小。 系統(tǒng)具有非常好的可預(yù)測性,實時性驗證也比較方便。 這種方式主要缺點是不靈活,需求一旦發(fā)生變化,就要重新生成整個運(yùn)行時 間表。 基于優(yōu)先級調(diào)度方式則與通用操作系統(tǒng)中采用的基于優(yōu)先級的調(diào)度方式基 本類似。任務(wù)的優(yōu)先級是在運(yùn)行前通過某種優(yōu)先級分配策略( 如 r a t e m o n o t o n i c 、d e a d l i n e - m o n o t o n i c 等) 來指定,越重要的任務(wù)其被賦予的 就優(yōu)先級越高。同時,基于優(yōu)先級的調(diào)度算法處總是讓處理器先運(yùn)行處于就緒狀 態(tài)的、優(yōu)先級最高的任務(wù)。這種方式的優(yōu)缺點與靜態(tài)表驅(qū)動方式的優(yōu)缺點正好完 全相反,它主要應(yīng)用于一些較獨立的嵌入式系統(tǒng)。 2 內(nèi)存管理 關(guān)于虛存管理機(jī)制我們在上面已經(jīng)進(jìn)行了一些討論。為解決虛存給系統(tǒng)帶來 的不可預(yù)測性,實時操作系統(tǒng)一般采用如下兩種方式: ( 1 ) 在原有虛存管理機(jī)制的基礎(chǔ)上增加頁面鎖功能,用戶可將關(guān)鍵頁面鎖 定在內(nèi)存中,從而不會被s w a p 程序?qū)⒃擁撁娼粨Q出內(nèi)存。這種方式的優(yōu)點是既 得到了虛存管理機(jī)制為軟件開發(fā)帶來的好處,又提高了系統(tǒng)的可預(yù)測性。缺點是 由于t l b 等機(jī)制的設(shè)計也是按照注重平均表現(xiàn)的原則進(jìn)行的,因此系統(tǒng)的可預(yù)測 性并不能完全得到保障; ( 2 ) 采用靜態(tài)內(nèi)存劃分的方式,為每個實時任務(wù)劃分固定的內(nèi)存區(qū)域。這 種方式的優(yōu)點是系統(tǒng)具有較好的可預(yù)測性,缺點是靈活性不夠好,任務(wù)對存儲器 的需求一旦有變化就需要重新對內(nèi)存進(jìn)行劃分,此外虛存管理機(jī)制所帶來的好處 也喪失了。 3 中斷處理 在通用操作系統(tǒng)中,大部分外部中斷都是開啟的,中斷處理一般由設(shè)備驅(qū)動 6 中南大學(xué)碩十學(xué)位論文第一章緒論 程序來完成。由于通用操作系統(tǒng)中的用戶進(jìn)程一般都沒有實時性要求,而中斷處 理程序直接跟硬件設(shè)備交互,可能有實時性要求,因此中斷處理程序的優(yōu)先級被 設(shè)定為高于任何用戶進(jìn)程。 但對于實時操作系統(tǒng)采用上述的中斷處理機(jī)制是不合適的。首先,外部中斷 是環(huán)境向?qū)崟r操作系統(tǒng)進(jìn)行的輸入,它的頻度是與環(huán)境變化的速率相關(guān)的,而與 實時操作系統(tǒng)無關(guān)。如果外部中斷產(chǎn)生的頻度不可預(yù)測,則一個實時任務(wù)在運(yùn)行 時被中斷處理程序阻塞的時間開銷也是不可預(yù)測的,從而使任務(wù)的實時性得不到 保證:如果外部中斷產(chǎn)生的頻度是可預(yù)測的,一旦某外部中斷產(chǎn)生的頻度超出其 預(yù)測值就可能會破壞整個系統(tǒng)的可預(yù)測性。其次,實時操作系統(tǒng)中的各用戶進(jìn)程 一般都有實時性要求,因此中斷處理程序優(yōu)先級高于所有用戶進(jìn)程的優(yōu)先級分配 方式是不合適的。 一種較適合實時操作系統(tǒng)的中斷處理方式為:除時鐘中斷外,屏蔽所有其它 中斷,中斷處理程序變?yōu)橹芷谛缘妮喸儾僮?,這些操作由核心態(tài)的設(shè)備驅(qū)動程序 或由用戶態(tài)的設(shè)備支持庫來完成。采用這種方式的主要好處是充分保證了系統(tǒng)的 可預(yù)測性,主要缺點是對環(huán)境變化的響應(yīng)可能不如上述中斷處理方式快,另外輪 詢操作在一定程度上降低了c p u 的有效利用率。另一種可行的方式是:對于采用 輪詢方式無法滿足需求的外部事件,采用中斷方式,其它時間仍然采用輪詢方式。 但此時中斷處理程序與所以其它任務(wù)一樣擁有優(yōu)先級,調(diào)度器根據(jù)優(yōu)先級對處于 就緒態(tài)的任務(wù)和中斷處理程序統(tǒng)一進(jìn)行處理器調(diào)度。這種方式使外部事件的響應(yīng) 速度加快,并避免了上述中斷方式帶來第二個問題,但第一個問題仍然存在。 此外為提高時鐘中斷響應(yīng)時間的可預(yù)測性,實時操作系統(tǒng)應(yīng)盡可能少地屏蔽 中斷。 4 系統(tǒng)調(diào)用以及系統(tǒng)內(nèi)部操作的時間開銷 進(jìn)程通過系統(tǒng)調(diào)用得到操作系統(tǒng)提供的服務(wù),操作系統(tǒng)通過內(nèi)部操作( 如上 下文切換等) 來完成一些內(nèi)部管理工作。為保證系統(tǒng)的可預(yù)測性,實時操作系統(tǒng) 中的所有系統(tǒng)調(diào)用以及系統(tǒng)內(nèi)部操作的時間開銷都應(yīng)是有界的,并且該界限是一 個具體的量化數(shù)值。而在通用操作系統(tǒng)中對這些時間開銷則未做如此限制。 5 系統(tǒng)的可重入性 在通用操作系統(tǒng)中,核心態(tài)系統(tǒng)調(diào)用往往是不可重入的,當(dāng)一低優(yōu)先級任務(wù) 調(diào)用核心態(tài)系統(tǒng)調(diào)用時,在該時間段內(nèi)到達(dá)的高優(yōu)先級任務(wù)必須等到低優(yōu)先級的 系統(tǒng)調(diào)用完成才能獲得c p u ,這就降低了系統(tǒng)的可預(yù)測性。因此,實時操作系統(tǒng) 中的核心態(tài)系統(tǒng)調(diào)用往往設(shè)計為可重入的。 7 中南大學(xué)碩士學(xué)位論文第一章緒論 1 3 本文的主要研究內(nèi)容 本論文深入研究了嵌入式操作系統(tǒng)n u c l e u s 的內(nèi)核結(jié)構(gòu),并從任務(wù)管理、中 斷管理、線程調(diào)度策略、任務(wù)通信與同步、內(nèi)存管理等角度去分析了系統(tǒng)的構(gòu)建 技術(shù)。同時,將操作系統(tǒng)n u c l e u s 與其它常用的嵌入式系統(tǒng)u c l i n u x 、u c o si i 的內(nèi)核進(jìn)行了比較,從進(jìn)程調(diào)度策略、文件系統(tǒng)、系統(tǒng)的移植性等方面分析了三 者的不同點和相似之處。在此基礎(chǔ)之上,針對嵌入式系統(tǒng)任務(wù)的調(diào)度,本文提出 了一種基于模糊理論的任務(wù)調(diào)度算法,它使用多層模糊綜合評判和最大隸屬度原 理來綜合考慮任務(wù)的多個特征參數(shù)并確定任務(wù)的優(yōu)先級。此外,還討論了一種基 于三層容錯技術(shù)的n u c l e u s 操作系統(tǒng)功能擴(kuò)充。論文的最后討論了嵌入式操作系 統(tǒng)n u c l e u s 的應(yīng)用開發(fā)人體健康檢測;并總結(jié)了開發(fā)過程中的不足之處以及 改進(jìn)的構(gòu)思。 本文主要的研究內(nèi)容總結(jié)如下: i 分析了嵌入式實時操作系絀u c l e u s 的內(nèi)核。從內(nèi)核中發(fā)各個組件出發(fā), 研究、說明了n u c l e u s 的組織結(jié)構(gòu)以及運(yùn)行機(jī)理。 2 將操作系統(tǒng)n u c l e u s 與其它開發(fā)源代碼的常用嵌入式操作系統(tǒng)進(jìn)行對比; 分析出不同嵌入式實時操作系統(tǒng)之間各自的優(yōu)缺點。 3 針對嵌入式操作系統(tǒng)中的任務(wù)具有特征參數(shù)多和特征參數(shù)不確定的特點, 提出了一種基于模糊理論的任務(wù)調(diào)度算法。 4 討論了一種基于三層容錯技術(shù)的n u c l e u s 容錯能力擴(kuò)充 5 闡述了基于嵌入式操作系統(tǒng)n u c l e u s 下的人體健康檢測應(yīng)用開發(fā)。 1 4 本文的組織 第一章為緒論,首先介紹了嵌入式操作系統(tǒng)的基本概念及其特點。并分析出 了嵌入式操作系統(tǒng)目前還存在的不足從而引出了本課題的來源,說明了研究嵌入 式操作系統(tǒng)的意義。 第二章分析了嵌入式操作系統(tǒng)n u c l e u s 的內(nèi)核結(jié)構(gòu)。首先對嵌入式實時操作 系統(tǒng)n u c l e u s 進(jìn)行一個簡單的介紹。然后,按照n u c l e u s 的組件結(jié)構(gòu)對系統(tǒng)的內(nèi) 核初始化、任務(wù)管理、線程調(diào)度、任務(wù)通信和同步、內(nèi)存管理等一一作了詳細(xì)的 說明。分析出了n u c l e u s 是怎樣構(gòu)建一個功能強(qiáng)大的嵌入式實時操作系統(tǒng)。 第三章將嵌入式操作系統(tǒng)n u c l e u s 與其它常用嵌入式操作系統(tǒng)u c l i n u x 、 u c 0 si i 進(jìn)行了對比。首先對u c l i n u x 、u c 0 si i 兩款嵌入式系統(tǒng)進(jìn)行了介紹 說明。然后,從進(jìn)程調(diào)度策略、文件系統(tǒng)、系統(tǒng)的移植性等方面說明了三者的不 同點和相似之處;分析出這三款嵌入式操作系統(tǒng)各自的有缺點以及它們在實際開 8 中南大學(xué)碩七學(xué)位論文第一章緒論 發(fā)時所應(yīng)用的領(lǐng)域。 第四章針對嵌入式操作系統(tǒng)n u c l e u s 提出了一種基于模糊理論的任務(wù)調(diào)度算 法以及容錯功能的擴(kuò)充。論文針對任務(wù)具有特征參數(shù)多和特征參數(shù)不確定的特 點,提出了一種基于模糊理論的任務(wù)調(diào)度算法利用模糊集合來描述任務(wù)的不確定 性特征;使用多層模糊綜合評判和最大隸屬度原理來綜合考慮任務(wù)的多個特征參 數(shù)并確定任務(wù)的優(yōu)先級;采用動態(tài)構(gòu)建多層評判模型的調(diào)度策略來減小任務(wù)優(yōu)先 級評判的失效率。此外,論文還討論了一種基于三層容錯技術(shù)的n u c l e u s 功能擴(kuò) 充。 第五章介紹了如何利用嵌入式操作系統(tǒng)n u c l e u s 開發(fā)手機(jī)下人體健康檢測功 能模塊。首先介紹了手機(jī)的硬件和軟件結(jié)構(gòu)。然后在此基礎(chǔ)上分析了人體健康檢 測的總體設(shè)計。最后詳細(xì)說明了應(yīng)用開發(fā)中通信協(xié)議、人體脈搏檢測、人體體溫 檢測的具體實現(xiàn)過程;并對開中的不足之處進(jìn)行了總結(jié)。 第六章總結(jié)了在書寫論文期間開展的相關(guān)研究工作,并分析了在該領(lǐng)域中需 要進(jìn)一步研究的相關(guān)問題。 9 中南大學(xué)碩士學(xué)位論文第一二章n u c l e u s 體系結(jié)構(gòu)分析 第二章n u ol e u s 體系結(jié)構(gòu)分析 2 1 嵌入式實時操作系統(tǒng)n u o l e u $ 介紹 n u c l e u s 是為實時嵌入式應(yīng)用而設(shè)計的一款搶先式多任務(wù)操作系統(tǒng),其內(nèi) 核9 5 的代碼是使用a n s ic 寫成,因此具有很強(qiáng)的移植性能夠支持大多數(shù)類型 的處理器。從實現(xiàn)的角度來說,n u c l e u s 以函數(shù)庫的形式鏈接到目標(biāo)應(yīng)用程序中, 并形成可執(zhí)行目標(biāo)代碼。n u c l e u s 內(nèi)核在典型的c i s c 體系結(jié)構(gòu)上占據(jù)大約2 0 k 空間,而在典型的r i s c 體系結(jié)構(gòu)上占據(jù)空間為4 0 k 左右,其內(nèi)核數(shù)據(jù)結(jié)構(gòu)占據(jù) i 5 k 字節(jié)的空間。此外,n u c l e u s 采用了軟件組件的方法來組織整個系統(tǒng)。每 一個組件具有單一而明確的功能,通常由幾個c 及匯編語言模塊構(gòu)成,提供清晰 的外部接口,對組件的引用就是通過這些接口完成的。 下面就實時操作系統(tǒng)n u c l e u s 的特點作一下簡單的介紹。 第一,開放源代碼。源代碼清晰易讀,組織有序而且注釋詳盡。這極大方便 了用戶二次開發(fā),即無需編寫和調(diào)試板支持軟件包b s p ,從而達(dá)到易學(xué)易用的目 的。 第二,移植性好。由于n u c l e u s 系統(tǒng)內(nèi)核9 5 的代碼是用a n s ic 寫成的并 對用戶開放,因此該系統(tǒng)非常便于移植并能夠支持大多數(shù)類型的處理器。 第三。響應(yīng)時間快速。對臨界資源的檢測時間不依賴于占有該臨界資源的線 程執(zhí)行時間的長短,一旦低優(yōu)先級線程釋放掉臨界資源,高優(yōu)先級線程就會搶占 運(yùn)行。 第四,健壯的實時內(nèi)核系統(tǒng)服務(wù)。系統(tǒng)提供任務(wù)控制、任務(wù)通信、任務(wù)同步、 內(nèi)存管理、標(biāo)準(zhǔn)輸入輸出設(shè)備接口等。所有的操作系統(tǒng)對象( 任務(wù)、郵箱、隊 列、管道等) 都可以動態(tài)地創(chuàng)建和刪除。創(chuàng)建一個對象時,要指定其控制塊的內(nèi) 存區(qū)域和其它的數(shù)據(jù)要求( 堆??臻g等) 。 第五,可用性強(qiáng)。n u c l e u s 系統(tǒng)調(diào)用名直接表明系統(tǒng)的各項功能。比如,你 可以通過n u _ c r e a t e _ t a s k 系統(tǒng)調(diào)用來創(chuàng)建一個任務(wù)。n u c l e u s 內(nèi)核對象都不隱 式地和別的對象相關(guān)。因此,用戶可以利用多個n u c l e u s 內(nèi)核對象之間的結(jié)合 形成混合系統(tǒng)調(diào)用。 第六,好的任務(wù)調(diào)度策略。對任務(wù)的調(diào)度采用優(yōu)先級和時間片結(jié)合的方法, 首先查看任務(wù)是否可以搶占,如果不能搶占,則一直執(zhí)行到任務(wù)完成或任務(wù)放棄 時間片;否則,依靠優(yōu)先級進(jìn)行調(diào)度,先調(diào)入優(yōu)先級最高的任務(wù),對于優(yōu)先級相 同的任務(wù)則分享時間片、輪流調(diào)度。因此,它具有較高的吞吐量,即隨著任務(wù)數(shù) l o 中南大學(xué)碩士學(xué)位論文第一二章n u c l e u s 體系結(jié)構(gòu)分析 目的增多,任務(wù)的調(diào)度時間為常數(shù)。 第七,系統(tǒng)配置簡單。n u c l e u s 允許應(yīng)用程序中使用或者不使用系統(tǒng)所提供 的功能。如果你需要某個系統(tǒng)功能的話,可以在n u c l e u s h 中進(jìn)行宏定義。例如 定義# d e f i n en u _ e n a b l e _ s t a c k _ c h e c k ,那么每個系統(tǒng)調(diào)用時都要進(jìn)行堆棧檢查, 否則就不進(jìn)行堆棧檢查。 第八,功能模塊種類豐富。n u c l e u s 嵌入式系統(tǒng)除提供功能強(qiáng)大的操作系統(tǒng) 內(nèi)核外,還針對不同的用戶需求提供了種類豐富的其它功能模塊。例如用于通訊 系統(tǒng)的局域和廣域網(wǎng)絡(luò)模塊,支持圖形應(yīng)用的實時化w i n d o w s 模塊“”,支持 i n t e r n e t 網(wǎng)的w e b 產(chǎn)品模塊、工控機(jī)實時b i o s 模塊、圖形化用戶接口“以及應(yīng) 用軟件性能分析模塊等。各類功能模塊采用軟件組件的方法來組織整個系統(tǒng)。同 時,利用現(xiàn)有系統(tǒng)功能,經(jīng)過組合可以很容易地得到新的系統(tǒng)功能,提高了系統(tǒng) 的可擴(kuò)展性。 2 2 嵌入式實時操作系統(tǒng)n u oie u s 內(nèi)核分析 2 2 1n u c l e u s 內(nèi)核概述 內(nèi)核,是操作系統(tǒng)的核心部分。它的主要目的是負(fù)責(zé)管理實時任務(wù)的競爭 運(yùn)行( 共享處理器) ,系統(tǒng)內(nèi)存的分配和回收,以及系統(tǒng)各個硬件設(shè)備的驅(qū)動控 制得等等。同時,內(nèi)核還需要為系統(tǒng)上層應(yīng)用程序提供了各種便利的接口,必須 能快速響應(yīng)外部事件以實現(xiàn)實時性。所以一款操作系統(tǒng)內(nèi)核的好壞將直接決定了 這款操作系統(tǒng)的性能和穩(wěn)定性。 在n u c l e u s 操作系統(tǒng)中,內(nèi)核提供了大量的內(nèi)核對象和優(yōu)秀的管理策略來實 現(xiàn)了上述對內(nèi)核的要求。在系統(tǒng)任務(wù)控制方面,任務(wù)之間可以按照優(yōu)先級和時聞 片兩種方式來共享處理器資源;通過郵箱( m a i l b o x ) ,隊列( q u e u e ) 和管道( p i p e ) 進(jìn)行通信;利用信號量( s e m a p h o r e ) 、事件組( e v e n tg r o u p ) 和信號( s i g n a l ) 進(jìn)行任務(wù)之間的同步和互斥。此外,在內(nèi)存管理方面,n u c l e u s 提供了動態(tài)內(nèi)存 分配和分區(qū)內(nèi)存分配( d y n a m i cm e m o r ya n dp a r t i t i o nm e m o r y ) 兩種存儲器管 理機(jī)制;在定時管理方面,n u c l e u s 提供了內(nèi)核對象定時器( t i m e r ) 來處理周 期性事件和任務(wù)的睡眠和掛起超時等“4 。 n u c l e u s 系統(tǒng)內(nèi)核結(jié)構(gòu)圖如下: 中南人學(xué)碩士學(xué)位論文第一二章n u c l e u s 體系結(jié)構(gòu)分析 圖3 - 1n u c l e u s 系統(tǒng)內(nèi)核結(jié)構(gòu)圖 從n u c l e u s 的系統(tǒng)結(jié)構(gòu)圖中可以看出線程控制是整個內(nèi)核的核心。n u c l e u s 將其它功能機(jī)制稱為軟件組件( s o f t w a r ec o m p o n e n t ) 。n u c l e u s 為每一個軟件 組件提供了一系列的系統(tǒng)調(diào)用,任務(wù)與n u c l e u s 的交互就是在這些系統(tǒng)調(diào)用上進(jìn) 行的。 2 2 2n u c l e u s 內(nèi)核組件組成 在上節(jié)中,曾一度提到嵌入式實時操作系統(tǒng)n u c l e u s 內(nèi)核又可以分成許多不 同的內(nèi)核對象。它們之間相互聯(lián)系,有效組織在一起共同完成了內(nèi)核所具備的復(fù) 雜的功能。除了少數(shù)情況外,n u c l e u s 不允許從外部對組件內(nèi)部訪問;只能通過 組件對外提供的接口來調(diào)用所需的功能。也正是采用了軟件組件的方法,n u c l e u s 各個組件非常容易替換和復(fù)用,這大大提高了軟件的擴(kuò)展性能“”。在n u c l e u s 操作系統(tǒng)中總共有1 6 個不同的組件,即1 6 種內(nèi)核對象。具體說明如下表所示: 表3 - 1n u c l e u s 操作系統(tǒng)組件表 組件名稱簡寫描述 c o m m o ns e r v i c ec o m p o n e tc s 通用服務(wù)組件 i n i t a l i z a t i o i lc o m p o n e n ti n 初始化組件 t h r e a dc o n t r o lc o m p o n e n tt c線程調(diào)度組件 t i m e rc o m p o n e n tt m 定時組件 a c t i v et i m e r sl i s t活動定時隊列 m a i l b o xc o m p o n e n tm 瞻 郵箱組件 q u e u ec o m p o n e n tq m 隊列組件 p i p ec o m p o n e n t p i 管道組件 1 2 中南大學(xué)碩十學(xué)位論文第一二章n u c l e u s 體系結(jié)構(gòu)分析 s e m a p h o r ec o m p o n e n t s m信號量組件 e v e n tf l a gc o m p o n e n te v 事件組件 p a r t i t i o nm e m o r yc o m p o n e n tp m 存儲分配組件 d y n a m i cm e m o r yc o m p o n e n t d m動態(tài)存儲組件 i

溫馨提示

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

最新文檔

評論

0/150

提交評論