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

嵌入式Linux操作系統的實時性能研究與改進

2010-01-01 00:00:00董彧先
智能計算機與應用 2010年2期

摘要:從三方面提出改善Linux實時性能的措施:為提高嵌入式應用響應時間精度,提出兩種細化Linux時鐘粒度方法:為增強系統內核對實時任務的響應能力,增強Linux內核的可搶占性,提出插入搶占方法:為擴展系統適用范圍,提出可支持多實時調度策略的調度方案。

關鍵詞:Linux 嵌入式系統 實時性 調度策略 搶占

中圖分類號:TP311.1 文獻標識碼:A

文章編號:1002-2422(2010)02-0090-02

1 Linux在實時應用中存在的技術障礙

1,1 Linux的實時性分析

Linux作為一個通用操作系統,主要考察的是調度的公平性和吞吐量等指標,然而并不能很好地滿足實時系統方面的需要。為了同時支持實時和非實時兩種進程,POSIX實時擴展部分逐漸被添加進來,如POSIX,1003.1b,引入了實時進程的概念,允許將一個進程的屬性確定為實時進程。Linux對實時進程和普通進程,采用不同的調度策略。

(1)實時進程。Linux提供兩種簡單的調度策略,即時間片輪轉調度和先來先服務調度。在SCHED_RR調度中,一旦時間片用完任務就被移動到優先級隊列的隊尾,并允許同一優先級的其它任務運行。如果同一優先級沒有其它任務,該任務將繼續運行下一個時間片。SCHED_FIFO是運行直至阻塞的策略。SCHED_FIFO任務按優先級調度,一旦開始就一直運行到結束或者阻塞在某種資源上。不像SCHED_RR任務那樣共享處理器。

(2)普通進程。Linttx采用類Unix的動態優先級調度。傳統的Unix操作系統屬分時系統,以高的吞吐量和公平性為追求目標,基本沒有考慮實時應用所應滿足的時間約束。

1,2 Linux在實時應用中的技術障礙

(1)缺少細粒度和多模式的定時器,Linux的系統時鐘精度太過粗糙,周期模式定時器頻率僅為100Hz,使得其時間粒度過大,加大了任務響應延遲。

(2)Linux下分用戶態和核心態兩種模式,當進程運行在用戶態時,可被優先級更高的進程搶占。但當進入核心態時,則其它用戶態進程優先級再高也不能搶占它。根本原因是Linux內核本身是不可搶占的。并且優先級反轉的現象使高優先級的實時進程可被低優先級的阻塞。

(3)Linux采用對臨界區操作時屏蔽中斷的方式,在中斷處理中不允許進行任務調度,從而抑制了系統及時響應外部操作的能力。

(4)缺乏有效的實時任務調度機制和調度算法。

2 改善嵌入式Linux實時性能方法

2,1細化時鐘粒度

時鐘粒度是制約內核實時性方面的主要因素之一,精確的計時是實時調度器正確操作所必須的,調度器通常要求在一個特定的時刻進行任務切換,計時的錯誤將導致背離計劃的調度,引起任務釋放抖動。標準Linux系統時鐘精度太過粗糙,時鐘中斷周期為10ms,不能滿足特定嵌入式應用領域中對于響應時間精度的要求。因此,在實時Linux應用中,需要細化其時鐘粒度,具體有兩種方式可以解決時鐘粒度問題:一是通過直接修改內核定時參數Hz的初值來細化時鐘粒度,如將標準Linux中內核定時參數HZ改為10000,則時鐘粒度可以達到100us,這種方式雖然會增加一些系統開銷,但在強周期性環境下,對定時器的設置只需初始化一次,在一定程度下保證了處理效率;二是通過對可編程中斷定時器進行編程或改換先進的可編程中斷控制器進行編程來改進Linux時鐘機制,以提高其時鐘的分辨率,使毫秒級的粗粒度定時器變成微秒級的細粒度定時器。

2,2增強Linux內核的搶占行

這里采用在內核中增加搶占點的方法。插入搶占點思想實質上是分析影響Linux實時性能的關鍵因素,找出影響實時性能的瓶頸位置,在其關鍵的代碼中插入調度語句,如:if(realtime_job_waiting)schedule():

這樣實時進程不必長時間等待低優先級進程的系統調用,當一個高優先級的實時進程競爭CPU時,核心只需要執行一小段代碼就可以被實時進程剝奪,當沒有實時進程等待CPU時,系統額外的工作只是執行的一個檢查標志。

插入檢查點方法簡單,修改內核的地方比較少,然而要在Linux內核適當的地方插入搶占點是一件不容易的事,In—go's Patch插入的搶占點多達46處,分布在各個模塊。

2,3改善Linux內核實時調度器的調度策略

目前,共享驅動的調度正越來越受到關注。在這種調度策略中,每個任務被分配了一定的共享資源,參與調度的系統中所有的實時任務按照一定比例共享計算機資源。將資源的共享作為調度策略考慮的一個因素,這在嵌入式系統中具有更重要的意義,因為嵌入式系統的CPU、帶寬、內存、磁盤等系統資源一般都是很有限的。

因此,提出要實現一種調度方案,使其同時支持以上所述的三類調度策略。其中,關于優先級驅動,提供優先級調度器負責在每個調度時機按優先級最高的原則從就緒隊列中提取任務:關于時間驅動的調度是在操作系統底層提供時間表支持,此時間表包括了每個任務的起止時間:關于共享驅動的調度是在操作系統底層提供任務的權值分配機制,該權值是針對CPU、帶寬、內存、磁盤等系統資源進行計算的。

總結以上實時調度策略所需的參數,為每個實時任務定義了三個調度屬性,分別是優先級屬性、時間表屬性、資源權值屬性。對于任務集則是優先級表、時間表和資源權值數組表,這樣,不同屬性的數據結構對應不同的調度策略,便于應用開發人員根據具體的情況靈活選擇。

這里建立一種調度器,用二階調度法來支持多調度鐿略。先在第一階段構造一個屬性的選擇模塊,完成屬性判斷,篩選出當前任務的調度屬性;然后是一個調度器選擇模塊,完成響應于當前的調度屬性的調度器的選擇。如圖1所示。

3 結束語

嵌入式技術具有廣泛的前景,把Linux自身固有的優越性融入嵌入式技術,是嵌入式技術發展的一個重要方向。

主站蜘蛛池模板: 黄片在线永久| 国产激情无码一区二区三区免费| 国产乱子伦视频三区| 91精品aⅴ无码中文字字幕蜜桃| 国产精品美女免费视频大全| 国产迷奸在线看| 性喷潮久久久久久久久| 免费在线一区| 香蕉网久久| 亚洲经典在线中文字幕| 99热免费在线| 中文字幕一区二区人妻电影| 99久久免费精品特色大片| 欧美激情成人网| 欧美日韩精品在线播放| 999精品色在线观看| 88av在线| 亚洲婷婷丁香| AV熟女乱| 四虎综合网| 婷婷色狠狠干| 孕妇高潮太爽了在线观看免费| 综合人妻久久一区二区精品| 91av国产在线| 亚洲无码高清视频在线观看| 91成人免费观看| 国产乱人伦精品一区二区| 亚洲国产日韩在线观看| 亚洲丝袜中文字幕| 亚洲精品第一在线观看视频| 国产欧美日韩精品第二区| 97在线免费| 国产成在线观看免费视频| 国产不卡国语在线| 国产在线视频导航| 亚洲欧州色色免费AV| 天堂亚洲网| 亚洲福利视频网址| 亚洲一级毛片免费观看| 国产香蕉97碰碰视频VA碰碰看| 久久国产精品波多野结衣| 国产你懂得| 亚洲一区二区三区香蕉| 精品国产一区二区三区在线观看| www中文字幕在线观看| 又黄又湿又爽的视频| 中文字幕av一区二区三区欲色| 福利在线不卡| 国内丰满少妇猛烈精品播| 精品国产免费观看| 久久91精品牛牛| 激情综合婷婷丁香五月尤物| 国产精品第一区在线观看| 日本一区二区三区精品国产| 久久国产av麻豆| 99热国产这里只有精品无卡顿" | 直接黄91麻豆网站| 人妻无码中文字幕第一区| 精品国产www| 极品国产一区二区三区| 国产人人射| 日韩国产另类| 色哟哟精品无码网站在线播放视频| 伊人久久大线影院首页| 色亚洲成人| 香蕉在线视频网站| 久久青草免费91观看| 久久久久久高潮白浆| 国产精品自拍合集| 久草性视频| 特黄日韩免费一区二区三区| 日韩在线第三页| 亚洲成a人片在线观看88| 国产网站免费| 亚洲人成成无码网WWW| 亚洲国产精品无码AV| 国产SUV精品一区二区6| 亚洲成肉网| 国产免费网址| www中文字幕在线观看| 亚洲欧美日韩另类在线一| 欧美国产日韩在线播放|