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

(計算機應用技術專業(yè)論文)nucleus體系結構分析及應用研究.pdf.pdf 免費下載

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

評論

0/150

提交評論