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可以采用多段式消息和線程到線程的消息數據直接拷貝等各種技術,來確保系統性能可以達到傳統的進程間通信方法的水平。

主站蜘蛛池模板: 欧亚日韩Av| 青青青视频蜜桃一区二区| 波多野结衣一区二区三视频 | 久久精品aⅴ无码中文字幕 | 久久青草精品一区二区三区| 国产aⅴ无码专区亚洲av综合网| 亚洲日韩精品伊甸| 好久久免费视频高清| 国产精品永久免费嫩草研究院| 欧美精品三级在线| 亚洲另类色| 欧美怡红院视频一区二区三区| 欧美午夜视频在线| 欧美午夜一区| 性做久久久久久久免费看| 欧美日韩国产在线观看一区二区三区 | 99热线精品大全在线观看| 无码专区国产精品第一页| 亚洲AV无码乱码在线观看代蜜桃| 国产一区免费在线观看| 综合色区亚洲熟妇在线| 日本少妇又色又爽又高潮| 黄色网在线| 日本福利视频网站| 亚洲福利网址| 日本www在线视频| 免费视频在线2021入口| 无码AV动漫| 国产福利在线免费观看| 国产高颜值露脸在线观看| 人妻丰满熟妇av五码区| 日韩二区三区| 久久91精品牛牛| 国产H片无码不卡在线视频| 国产一区二区三区视频| 欧美一级高清免费a| 日韩精品久久无码中文字幕色欲| 国产9191精品免费观看| 色综合久久88| 欧美亚洲一二三区| 国产欧美日韩免费| 日本影院一区| 一级爆乳无码av| 欧美精品伊人久久| 综合亚洲网| 成人午夜精品一级毛片| 色综合久久无码网| 国产导航在线| 99久久国产精品无码| 热久久综合这里只有精品电影| 欧美一区二区人人喊爽| 国产91熟女高潮一区二区| 一级片免费网站| 色综合手机在线| 国产jizzjizz视频| 久草中文网| 狠狠亚洲五月天| 国产麻豆福利av在线播放| 国产精品网址在线观看你懂的| 久久香蕉国产线看精品| 最新精品久久精品| 制服丝袜无码每日更新| 久草网视频在线| 免费午夜无码18禁无码影院| 国产成人1024精品| 中文字幕永久在线看| 国产精品吹潮在线观看中文| 黄色片中文字幕| 成年人视频一区二区| 无码精品一区二区久久久| 亚洲综合中文字幕国产精品欧美| 视频在线观看一区二区| 国内精品久久久久久久久久影视 | 亚洲最大在线观看| 日本亚洲欧美在线| 精品色综合| 夜夜拍夜夜爽| 久久成人免费| 国产精品一区在线观看你懂的| 青青草国产在线视频| 在线播放真实国产乱子伦| 日韩高清无码免费|