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

嵌入式Linux內核實時性測試研究

2016-11-02 06:43:54介龍梅徐有軍邵國強
智能計算機與應用 2016年3期
關鍵詞:進程嵌入式

介龍梅,徐有軍,邵國強

(大慶師范學院計算機科學與信息技術學院,黑龍江大慶 163712)

嵌入式Linux內核實時性測試研究

介龍梅,徐有軍,邵國強

(大慶師范學院計算機科學與信息技術學院,黑龍江大慶163712)

介紹了嵌入式Linux內核實時性問題的背景及其在實際中的應用。提出了實時性測試的2個主要指標:進程切換時間和中斷延遲時間。前者測試包括2個方案:一是通過程序測量父子進程切換時間,二是借助Lmbench工具測量進程上下文切換時間;后者則采用測量時鐘中斷延遲的方法來實現。針對3個測試實驗,分別給出了方案設計、方案實現和測試結果與分析。最后在分析和實驗的基礎上得出幾點重要結論,并給出2種實時性的改進方案。

嵌入式Linux;實時性;進程調度延遲;中斷延遲

0 引 言

21世紀以來,嵌入式系統已經應用到人類生產和生活的諸多方面,從工業控制、航空航天,到車輛導航、醫療設備等。

Linux雖然在許多方面都表現出優越特性,但其實時性卻較弱。標準的Linux并未提供實時的操作系統內核,而有些應用又對實時性提出有較高要求。比如PFX攝像機的項目,單核的實時性即無法滿足攝像機的現場需求,為此需要通過實驗對linux內核在不同環境下的實時性展開測試和分析,以確定系統是否可以滿足實時性需求[1]。

1 Linux實時性測試

進程切換時間和中斷延遲時間是影響Linux實時性的2個最重要因素,對Linux實時性的測試研究可從如上2個方面著手進行,再通過相關的測試程序和測試工具,測量進程切換時間和中斷延遲時間,從而依據測量的時間數據來衡量Linux的實時性能[2]。

1.1父子進程切換時間測量

1.1.1測試方案設計

程序開始運行后,首先創建2個管道A和B,而后創建一個子進程。子進程運行時,為保證在程序運行中不會有其它的進程搶占系統CPU,可將子進程的優先級修改為99。子進程調用gettimeofday獲得當前時間t1并輸出,此后進入一個5 000次的循環,在循環中執行2條語句,先讀取管道A中的數據,再向管道B中寫入數據。

在父進程中,同樣將父進程的優先級修改為99,而且也進入一個5 000次的循環,在循環中執行2條語句,先是向管道A中寫入數據,再是讀取管道B中的數據。循環結束后,父進程調用gettimeofday獲得當前時間t2并輸出。

1.1.2測試方案實現

1.1.2.1程序運行平臺

為使得程序的測試數據更加豐富和全面,測試程序將在如下4個平臺中分別實現和運行。在此,給出其中2個典型平臺的實驗配置,預期設定如下:

1)x86平臺,CPU為Pentium4,主頻2.8GHz,Vmware虛擬機,操作系統為CentOS-5-5,Linux內核版本為2.6.29.6。

2)x86平臺,CPU為Pentium4,主頻2.8GHz,Vmware虛擬機,操作系統為CentOS-5-5,Linux內核版本為2.6.29.6,內核中添加了Ingo Molnar實時補丁。

1.1.2.2程序流程圖

圖1為父子進程切換時間測試程序的流程圖。

1.1.3測試結果及分析

切換次數為10 000時,測試程序在各個平臺測得的進程切換時間如表1所示。時間的單位為微秒(μs)。對表1中的數據實施重點分析,可得具體結論如下:

1)在x86平臺下,進程切換的時間很短,在Linux-2.6.29.6和Linux-2.6.29.6(添加實時補丁)下的平均時間為26.49 μs和24.76 μs。

2)在S3C2410平臺下,進程切換的時間就大大增加,在Linux-2.6.29.6和Linux-2.6.29.6(添加實時補丁)下的平均時間為204.51μs和204.46μs(考慮到上文提到的時鐘中斷的影響,這個時間出現了誤差,大概在幾微秒范圍內。

3)由上述的數據及分析可以得出結論:Linux的進程切換時間較長,嵌入式環境下可能會更長,尚不能有效滿足實時性的要求,仍然有待進一步的提升和改善。

1.2Lmbench測試工具

1.2.1測試方案設計

Lmbench是一套為UNIX/POSIX指定的微型測評工具,本文將特別選用其測量進程上下文切換時間的功能[3]。

1.2.2測試方案實現

啟動Lmbench后進入源碼解壓目錄,執行make results命令開始測試。沒有編譯錯誤,提示對測試進行配置并生產配置腳本。Lmbench根據配置文檔執行測試項,并在results目錄下根據系統類型、系統名和操作系統類型產生一個子目錄,測試結果存放在該目錄下。

測試的平臺為:x86平臺,CPU為Pentium4,主頻2.8GHz,Vmware虛擬機,操作系統為CentOS-5-5,Linux內核版本為2.6.18。

1.2.3測試結果及分析

在CentOS-5-5,Linux內核版本為2.6.18平臺下測得的進程上下文切換時間如表2所示,單位為微秒(μs)。其中,第二行Host OS表示不同的進程數量(2p、8p、16p)和進程上下文數據塊的大小(0K、16K、64K)。

圖1 父子進程切換時間測試流程圖Fig.1 The flow chart of the father-son process switching time delay test

表2 Lmbench測得的進程上下文切換時間(單位:μs)Tab.2 The switching time delay of process context tested by Lmbench(Unit:μs)

針對表2中所得數據,展開如下分析:

1)進程上下文切換的時間與進程的數量和進程上下文數據塊的大小都有密切的關系。在進程數量較少的情況下(例如2個),進程上下文切換的時間較短;進程數量較多時,進程上下文切換的時間也會出現增加。同樣,數據塊較小時,切換時間也會較數據塊較大時要少上一些[4]。

2)由上述數據的線性增長可以得出結論:當系統中進程數量較大,進程上下文的數據塊也較大時,尤其是系統負載也趨于可觀時,進程上下文切換的時間會顯著增大,以致實時性較差,甚至無法達到實時要求。

1.3時鐘中斷延遲測量實驗

1.3.1測試方案實現

測試方案的實現包括2部分:修改arch/arm/plat-s3c/ time.c文件中的代碼和編寫內核模塊。其中,修改arch/arm/ plat-s3c/time.c是為了使內核擁有計算時鐘中斷延遲的功能,而內核模塊則是將內核中保存時鐘中斷延遲時間變量的值輸出到proc文件系統中。因篇幅所限,在此僅概述其重點實現步驟,并作如下呈現:

1)修改arch/arm/plat-s3c/time.c。

①聲明6個內核變量;

②實現2個函數:gettimeoffset和get_latency_time;

③在timer_interrupt()時鐘中斷服務程序開始處調用get _latency_time函數,由此測得與時鐘中斷延遲相關的時間。

2)輸出內核變量值的內核模塊(利用proc文件系統)。1.3.2 測試結果及分析

測試程序最終所得的時鐘中斷的延遲時間如表3所示。

表3 時鐘中斷的延遲時間(單位:μs)Tab.3 The timer interrupt delay(unit:μs)

研究可知,測試程序中,時鐘中斷服務程序開始執行時,定時器4已走過的計數值更能精確表現出時鐘中斷的延遲。由于定時器4的初始值設置為42 250,即每次定時器4的值由42 250降至0時,即會產生時鐘中斷,而后再復位。該測試中,Linux的時鐘周期是5 ms,由此則可推算出定時器4的一個計數表示的時間大約是129 ns。

2 結束語

本文分析了與Linux實時性相關的一些體系機制,包括內核搶占、時鐘、進程調度、中斷響應[5],在實驗的基礎上得出如下技術研究結果:

1)Linux2.6內核并不是完全可搶占,在中斷處理、Spinlock自旋鎖、內核處理CPU私有數據結構等很多情況下仍然不可搶占,這即無法保證實時進程在規定的時間內得以運行。

2)在大多數平臺上,Linux時鐘中斷的頻率是100,這個精度無法滿足實時性的要求。

3)Linux2.6內核的O(1)調度算法能滿足實時性的要求,但缺乏調度點以及優先級反轉的問題依然無法保證實時任務的運行。

4)Linux內核在臨界區運行時會關閉所有中斷,這就增加了中斷延遲時間,而臨界區代碼執行時間的不確定性又使得中斷延遲時間的不確定性也隨即增加,從而影響系統實時性能。

綜上所述,目前標準Linux的實時性能仍然無法滿足很多實時應用的需求,因而仍需對其進行功能拓展與完善。通過RTAI多內核方案和Ingo Molnar的實時補丁可以在一定程度上滿足用戶實時性需要[6]。

[1]楊豐瑞,王兵.基于Adeos的Linux實時性改造的研究與實現[J].微電子學與計算機,2015,32(3):50-53,58.

[2]周保余,孔德剛,趙宏偉.嵌入式Linux實時性研究[J].吉林大學學報(信息科學版),2011,29(4):339-343.

[3]嚴麗平,宋凱,鄧胡濱.基于嵌入式應用的Linux內核實時性改進研究[J].計算機工程與設計,2011,32(1):121-124.

[4]張璐璐.Linux內核實時性的分析和研究[J].硅谷,2012(22):97-98.

[5]甘玲,劉柄宏.基于ADEOS的RTAI/Linux的研究及其實時性測試[J].計算機應用與軟件,2010,27(2):163-165.

[6]馮川放,馬季.基于嵌入式LINUX系統的實時進程調度算法的研究[J].計算機應用與軟件,2014,31(12):278-282.

The research on the real-time performance test of embedded Linux kernel

JIE Longmei,XU Youjun,SHAO Guoqiang
(Computer Science&Information Technology College,Daqing Normal University,Daqing Heilongjiang 163712,China)

The paper proposes the background and application of the real-time performance of embedded Linux kernel.Time delay from one process to another and interrupt delay are two main factors relating to real-time performance test.The former one includes two solutions:one is to test the time delay from father process to son process or on the contrary,another is testing the time delay between contexts by Lmbench tool;the latter one is implemented by testing the interrupt delay.The solution design,solution implementation,test result and analysis for the three test experiments are described individually.After that,several important solutions based on analysis and experiments are pointed out,as well as the two improvement solution for real-time performance.

embedded Linux;real-time performance;process scheduling delay;interrupt latency

TP393.02

A

2095-2163(2016)03-0105-03

2016-05-17

黑龍江省教育廳科學技術研究項目(12533002);大慶師范學院科學研究基金項目(12ZR08)。作者簡介:介龍梅(1981-),女,碩士,講師,主要研究方向:人工智能、嵌入式、3G通信。

猜你喜歡
進程嵌入式
債券市場對外開放的進程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
搭建基于Qt的嵌入式開發平臺
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
Altera加入嵌入式視覺聯盟
倍福 CX8091嵌入式控制器
自動化博覽(2014年4期)2014-02-28 22:31:15
我國高等教育改革進程與反思
教育與職業(2014年7期)2014-01-21 02:35:04
Linux僵死進程的產生與避免
男女平等進程中出現的新矛盾和新問題
主站蜘蛛池模板: 国产尹人香蕉综合在线电影 | 理论片一区| 国产视频大全| 日韩区欧美国产区在线观看| 欧美笫一页| 国产91特黄特色A级毛片| 久久永久免费人妻精品| 亚洲性一区| 免费一看一级毛片| 一级毛片免费高清视频| 久久女人网| 精品久久香蕉国产线看观看gif| 久久美女精品国产精品亚洲| 人妻丰满熟妇αv无码| 一级毛片视频免费| 亚洲一区二区三区在线视频| 四虎精品国产AV二区| 18禁高潮出水呻吟娇喘蜜芽| 色成人亚洲| 欧美性色综合网| 97se亚洲综合在线| 另类欧美日韩| 超级碰免费视频91| 激情亚洲天堂| 白丝美女办公室高潮喷水视频 | 久久香蕉国产线看观| 最新精品国偷自产在线| 久久久久人妻一区精品色奶水 | 亚洲一区黄色| 欧美高清国产| 国产精品xxx| 免费观看无遮挡www的小视频| 欧美国产综合色视频| 欧美日在线观看| 色窝窝免费一区二区三区| 日本不卡视频在线| 午夜日本永久乱码免费播放片| 2021国产在线视频| 九九九精品视频| 伊人久久影视| 色一情一乱一伦一区二区三区小说 | 在线99视频| 香蕉久久国产超碰青草| 啪啪永久免费av| 在线观看免费AV网| 国产精品久久久久久久久| 中文字幕欧美成人免费| 亚洲欧美精品一中文字幕| a毛片免费看| 午夜日b视频| 国产亚洲一区二区三区在线| 欧美第一页在线| 人人91人人澡人人妻人人爽| 国产成人区在线观看视频| 一级毛片免费观看不卡视频| 日韩精品一区二区三区免费在线观看| 日日摸夜夜爽无码| 老汉色老汉首页a亚洲| 91探花国产综合在线精品| 婷婷综合缴情亚洲五月伊| 国产96在线 | 欧美激情第一欧美在线| 国产第八页| 精品亚洲国产成人AV| 亚洲综合二区| 91精品网站| 精品成人一区二区| 潮喷在线无码白浆| 免费看久久精品99| 91久久国产成人免费观看| 欧美日韩国产在线人成app| 日韩国产 在线| 国产91小视频在线观看| 综合人妻久久一区二区精品| 亚洲AⅤ波多系列中文字幕| 欧美 亚洲 日韩 国产| 成人亚洲国产| 中文成人在线视频| 国产色爱av资源综合区| 国产男女免费视频| 色哟哟色院91精品网站| 亚洲无卡视频|