999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

嵌入式實時操作系統的實時性和可靠性研究

2008-01-01 00:00:00陶甲寅劉曉魁
智能計算機與應用 2008年4期

摘要:研究了如何提高嵌入式實時操作系統的實時性和可靠性問題。

關鍵詞:嵌入式實時操作系統 實時性 可靠性 搶占式調度 微內核 中斷

中圖分類號:TP316.2 文獻標識碼:A 文章編號:1002-2422(2008)04-0005-02

1 搶占式調度

在嵌入式實時操作系統(RTOS)中,線程按照其優先級順序執行。如果一個高優先級的線程準備運行時,將在一個短的、有限時間間隔內從任何可能正在運行的低優先級進程接管CPU。另外,高優先級的線程能夠不被中斷地運行,直到已經完成了需要做的事情。這種方法就是搶占式調度,保證了高優先級線程始終滿足其最終期限。

保證高優先級的進程和線程的同時確保不會使其它進程處于“饑餓”狀態的關鍵是要執行進程限制。通過對執行進程調整或在響應加載的過程中進程控制,開發人員能夠限制這些活動消耗的CPU時間比例,并支持低優先級進程獲得對CPU的共享。

搶占式調度僅在高優先級線程在一個短的、有限時間段內搶占低優先級線程的情況下有效,否則系統將不可能預測要花費多長時間來執行一個給定的操作。

可以將線程看作是最小的“執行單元”,而將進程看作是一個或多個線程的“容器”,進程定義了線程將要在其中執行的地址空間。將所有的線程放在幾個大的進程中將是錯誤的,因為線程提供的切換速度更快。雖然線程能實現并行處理優勢因而適合于某些設計,但是將一個應用分成多個內存保護的進程使得代碼更容易調試,提供了更好的錯誤隔離和恢復能力,并允許系統進行新功能的動態升級。

2 可搶占的內核

在RTOS中,內核操作是可搶占的。盡管仍然會存在一些時間窗口,在這些時間窗口中可能沒有搶占,但這些時間間隔應該是相當短暫的,通常在幾百納秒。另外必須有一個關于搶占被推遲或中斷被禁止的時間上限,這樣開發者可以確定最壞情形下的等待時間。

為實現此目標,操作系統內核需盡可能簡潔,只有具有較短執行路徑的服務才被包含在內核中,任何需大量工作的操作必須被安排到外部進程或線程。這種方法有助于通過內核確保最長的不可搶占代碼路徑具有一個時間上限。

2.1 優先級繼承

假定系統有三個進程見圖1:A、B、C,現假定A已經請求C執行一個計算,而在這期間,B突然需要C的服務。因為B擁有比A更高的優先級,所以一般會認為C將立即掛起A的請求并將轉向為B服務,但是實際情況并非如此,因為C比B具有更高的優先級,所以B不能阻止C完成當前的工作。

從效果上看,低優先級的進程A占用了更高優先級進程B的CPU時間,這是引入優先級繼承的原因。通過使用RTOS提供的優先級繼承機制,系統可以在A發出請求的情況下,讓C繼承A的低優先級。通過這種方式,B能夠在任何時候搶占A的請求。

如果一個應用程序分布于幾個通過網絡連接的處理器,那么RTOS也應該支持分布式優先級繼承,這樣可以按照優先級的順序處理來自多個處理器的請求。如果沒有優先級繼承,一個多處理器系統可能會落入無限的優先級倒置和死鎖中。

2.2 中斷處理

為了獲得對外部事件的及時響應,將最小化硬件中斷發生到執行該中斷的第一條代碼的時間很重要。這個時間間隔稱為中斷延遲,為了保證中斷延遲盡可能小,RTOS應該在幾乎所有時間內都支持產生中斷。

3 如何提高可靠性

提高RTOS的可靠性的關鍵取決于RTOS的架構。例如在實時執行模式架構中,大部分或所有軟件組件都在一個單一的內存地址空間中運行,包括操作系統內核、網絡協議棧、設備驅動程序、應用程序等。雖然這種架構的效率較高,但有兩個明顯的缺陷:(1)任何組件中的一個指針錯誤,都可能破壞操作系統內核或任何其它組件,導致不可預測的行為和整個系統的崩潰。(2)很難動態修復或替換任何有故障的組件,大多數情況下,出現這些問題時系統復位是唯一的選擇。

有一些RTOS試圖通過使用單內核架構來解決這個問題。在這種架構中,用戶的應用程序在隔離的、受保護內存地址空間中運行(見圖2)。如果一個應用程序試圖訪問其地址空間之外的數據,內存管理單元(MMU)將通知操作系統,操作系統可能會采取保護措施,例如終止出錯進程。由于這樣的操作系統需要將大多數或所有驅動程序、文件系統和其它系統服務綁定到內核中,因此任何組件中的一個錯誤都可能帶來災難性的內核故障。

采用微內核(mricokemel)架構可提供更精確的故障隔離,如QNX Neutrino等操作系統都基于微內核架構。微內核有兩個明確的特征:(1)在操作系統內核中只實現了一個包含了基本OS服務的小內核(如信號量、定時器、任務調度等),包括驅動程序、文件系統、協議棧和用戶應用程序在內的所有其它的組件在內核外部分離的、保護內存的進程中運行。有問題的系統服務不再作為孤立的故障點,而是在破壞其它服務或操作系統內核之前被終止并重啟。(2)所有的組件能夠通過消息傳遞進行通信,一個定義良好的通信機制保障了程序在保持彼此安全隔離的前提下進行數據交換。適當實現的消息傳遞也可以作為一個虛擬的“軟件總線”,允許任何的軟件組件,甚至是一個設備驅動程序被動態地加入或替換,對于必須提供連續服務的系統而言這是一項關鍵要求。

基于消息傳遞的微內核RTOS通常提供了更好的容錯性和動態升級能力。在實際應用中,如果實現正確,消息傳遞的性能可以接近底層硬件的內存帶寬。例如,一個微內核RTOS可以采用多段式消息和線程到線程的消息數據直接拷貝等各種技術,來確保系統性能可以達到傳統的進程間通信方法的水平。

主站蜘蛛池模板: 国产亚洲欧美在线专区| 亚洲经典在线中文字幕| 丁香婷婷久久| 人妻精品久久无码区| 国产地址二永久伊甸园| 91精品国产91久久久久久三级| 蜜桃视频一区二区| AV天堂资源福利在线观看| 国产精欧美一区二区三区| AV网站中文| 99在线视频免费| 欧美日韩一区二区三| 蝌蚪国产精品视频第一页| 欧洲一区二区三区无码| 91亚瑟视频| 制服丝袜亚洲| 国产精品欧美激情| 亚洲热线99精品视频| 国产成人精品三级| 国产在线一区二区视频| 无码aaa视频| 91精品最新国内在线播放| 香蕉精品在线| 国产精品污污在线观看网站| 精品无码国产一区二区三区AV| 波多野结衣国产精品| 国产精品嫩草影院视频| 国产一级毛片在线| 日日碰狠狠添天天爽| 精品无码国产自产野外拍在线| 亚洲αv毛片| 欧美一级高清片久久99| 日本三区视频| 国产亚洲男人的天堂在线观看 | 麻豆AV网站免费进入| 日韩第九页| 欧美日本在线一区二区三区| 亚洲中字无码AV电影在线观看| 国产精品美女网站| 蝌蚪国产精品视频第一页| 亚洲最大福利网站| 高清无码一本到东京热| 乱色熟女综合一区二区| 国产成人综合欧美精品久久| 久久精品波多野结衣| 色综合a怡红院怡红院首页| 欧美福利在线播放| 午夜视频免费一区二区在线看| 亚洲美女一级毛片| 日本a∨在线观看| 好紧好深好大乳无码中文字幕| 久久天天躁狠狠躁夜夜躁| 91成人在线观看视频| 亚洲一级毛片免费观看| 精品人妻无码中字系列| 国产特级毛片aaaaaaa高清| 亚洲首页在线观看| 五月婷婷亚洲综合| 欧美日韩中文国产va另类| 国产精品视频第一专区| 黄色片中文字幕| 免费a在线观看播放| 精品精品国产高清A毛片| 国产精品综合久久久| 亚洲人成在线免费观看| 99热国产这里只有精品无卡顿"| 国产精品亚洲片在线va| 日韩精品欧美国产在线| 18禁影院亚洲专区| 制服无码网站| 日韩中文字幕亚洲无线码| 亚洲AV无码一区二区三区牲色| 香蕉99国内自产自拍视频| h视频在线播放| 国产毛片基地| 国产成人精品一区二区秒拍1o| 国产一级毛片yw| 日韩黄色在线| 日韩久草视频| 亚洲婷婷在线视频| 亚洲欧美另类日本| 特级毛片8级毛片免费观看|