過來人教你怎么成為編程高手架構(gòu)師(Who taught you how to become a programming master architect)_第1頁
過來人教你怎么成為編程高手架構(gòu)師(Who taught you how to become a programming master architect)_第2頁
過來人教你怎么成為編程高手架構(gòu)師(Who taught you how to become a programming master architect)_第3頁
過來人教你怎么成為編程高手架構(gòu)師(Who taught you how to become a programming master architect)_第4頁
過來人教你怎么成為編程高手架構(gòu)師(Who taught you how to become a programming master architect)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、多核嵌入式實(shí)時(shí)操作系統(tǒng)測(cè)試方法關(guān)鍵字: 多核嵌入式實(shí)時(shí)操作系統(tǒng)測(cè)試方法本文為Word文檔,感謝你的關(guān)注! 摘要:嵌入式實(shí)時(shí)操作系統(tǒng)測(cè)試結(jié)果是嵌入式應(yīng)用軟件的重要參考依據(jù),而對(duì)多核嵌入式實(shí)時(shí)操作系統(tǒng)需要考慮多核的因素對(duì)其功能、性能及安全性進(jìn)行測(cè)試。評(píng)估多核嵌入式實(shí)時(shí)操作系統(tǒng)的時(shí)間性能,設(shè)計(jì)了不同的測(cè)試方法,考慮多核情況下核間同步時(shí)間。針對(duì)某國產(chǎn)多核嵌入式實(shí)時(shí)操作系統(tǒng)的測(cè)試方法,在測(cè)試項(xiàng)目實(shí)施過程中方法可行。 關(guān)鍵詞:多核嵌入式操作系統(tǒng);時(shí)間性能;測(cè)試方法 TP316.2 A 1007-9416(2017)02-0184-04 在單核操作系統(tǒng)中,內(nèi)核負(fù)責(zé)任務(wù)管理、資源管理、中斷管理、事件處理及通信

2、管理等工作。在多核操作系統(tǒng)中,這些功能同樣具有,除此之外,還包括核間通信與同步、核間任務(wù)調(diào)度管理、資源共享及設(shè)備管理等部分。性能方面主要考慮任務(wù)切換時(shí)間、中斷響應(yīng)時(shí)間、運(yùn)算性能、信量延遲時(shí)間、內(nèi)存讀寫性能等常規(guī)的嵌入式實(shí)時(shí)操作系統(tǒng)性能以外,針對(duì)多核還需要檢測(cè)核間同步時(shí)間,針對(duì)圖形的操作系統(tǒng)檢測(cè)圖形的運(yùn)行性能,針對(duì)文件系統(tǒng)進(jìn)行文件讀寫性能。以下是針對(duì)某國產(chǎn)多核嵌入式實(shí)時(shí)操作系統(tǒng)的測(cè)試方法。 1 功能測(cè)試 針對(duì)多核嵌入式實(shí)時(shí)操作系統(tǒng)以下幾方面的功能進(jìn)行測(cè)試: 多核管理功能:操作系統(tǒng)能在系統(tǒng)初始化階段,完成引導(dǎo)可用的所有處理器核。支持處理器集合操作,對(duì)處理器核能夠進(jìn)行啟停狀態(tài)查詢的功能進(jìn)行測(cè)試,通過

3、對(duì)已加載被測(cè)系統(tǒng)的目標(biāo)機(jī)上電,在上電完成后監(jiān)測(cè)所有處理器核的啟停狀態(tài),驗(yàn)證多核管理功能的正確性。 多核同步功能:提供自旋鎖、原子操作、內(nèi)存屏障等機(jī)制實(shí)現(xiàn)多個(gè)處理器核間數(shù)據(jù)可重入的功能進(jìn)行測(cè)試,通過運(yùn)行測(cè)試程序,構(gòu)建多個(gè)任務(wù),對(duì)比使用和不使用自旋鎖的方式訪問共享的臨界資源,監(jiān)測(cè)這些任務(wù)對(duì)臨界資源訪問的正確性(符合數(shù)據(jù)的可重入),驗(yàn)證多核同步功能的正確性;通過在使用內(nèi)存屏障的情況下,多任務(wù)并發(fā)訪問同一全局變量,通過對(duì)比編譯之后的匯編代碼及運(yùn)行結(jié)果,驗(yàn)證多核環(huán)境下內(nèi)存屏障能夠保證數(shù)據(jù)運(yùn)算順序的正確性;通過運(yùn)行測(cè)試程序,對(duì)啟用原子操作和不啟用原子操作時(shí)程序運(yùn)行結(jié)果進(jìn)行對(duì)比,驗(yàn)證多核環(huán)境下啟用原子操作能

4、夠保證運(yùn)行結(jié)果的正確性。 多核調(diào)度功能:支持多核并行運(yùn)行,支持核心可搶占、提供基于優(yōu)先級(jí)搶占調(diào)度、時(shí)間片輪轉(zhuǎn)調(diào)度,保證任務(wù)不會(huì)有餓死的情況;采用統(tǒng)一的任務(wù)隊(duì)列管理,基于高效的核間中斷機(jī)制實(shí)現(xiàn)多核任務(wù)統(tǒng)一調(diào)度,賦予多核環(huán)境中各CPU調(diào)度本地就緒隊(duì)列的能力;支持處理器親和性,提供任務(wù)和中斷綁定到指定處理器核的編程接口,用戶可以根據(jù)應(yīng)用的需要把任務(wù)綁定到指定的處理器核上運(yùn)行的功能進(jìn)行測(cè)試。通過運(yùn)行測(cè)試程序,測(cè)試多種優(yōu)先級(jí)任務(wù)組合情況下,同時(shí)運(yùn)行的環(huán)境下監(jiān)測(cè)任務(wù)調(diào)度情況,查看系統(tǒng)中各個(gè)CPU的負(fù)載情況,驗(yàn)證多核調(diào)度功能的正確性。設(shè)置了如下幾種優(yōu)先級(jí)任務(wù)組合情況,查看是否依據(jù)任務(wù)優(yōu)先級(jí)進(jìn)行調(diào)度,假設(shè)任務(wù)

5、優(yōu)先級(jí)由0255個(gè)級(jí)別。 運(yùn)行4個(gè)任務(wù),優(yōu)先級(jí)相同(250),不指定運(yùn)行在哪個(gè)cpu上,觀察4個(gè)任務(wù)在cpu上的分布情況,之后運(yùn)行4個(gè)新任務(wù),優(yōu)先級(jí)逐一提高(251、252、253、254),觀察任務(wù)搶占調(diào)度。是否高優(yōu)先級(jí)任務(wù)搶占低優(yōu)先級(jí)任務(wù)。四個(gè)核上運(yùn)行任務(wù)為(251、252、253、254),待這4個(gè)任務(wù)完成之后再運(yùn)行優(yōu)先級(jí)為250的4個(gè)任務(wù)。 運(yùn)行4個(gè)任務(wù),優(yōu)先級(jí)各不相同(250、251、252、253),不指定運(yùn)行在哪個(gè)cpu上,觀察4個(gè)任務(wù)在cpu上的分布,之后運(yùn)行4個(gè)新任務(wù),優(yōu)先級(jí)逐一提高(251、252、253、254),觀察任務(wù)搶占調(diào)度。是否高優(yōu)先級(jí)任務(wù)搶占低優(yōu)先級(jí)任務(wù)。251

6、的搶250、252的搶251、253的搶251、254的搶252,此時(shí)四個(gè)核上運(yùn)行的任務(wù)應(yīng)該為254、253、253、252,待任務(wù)運(yùn)行完之后再按順序調(diào)度252、251、251、250的任務(wù)。 運(yùn)行4個(gè)任務(wù),優(yōu)先級(jí)相同(250),不指定運(yùn)行在哪個(gè)cpu上,觀察4個(gè)任務(wù)在cpu上的分布,之后運(yùn)行4個(gè)新任務(wù),優(yōu)先級(jí)逐一提高(251、252、253、254),觀察任務(wù)搶占調(diào)度;之后動(dòng)態(tài)調(diào)整優(yōu)先級(jí)252任務(wù)的優(yōu)先級(jí)到249,觀察任務(wù)搶占調(diào)度。是否高優(yōu)先級(jí)任務(wù)搶占低優(yōu)先級(jí)任務(wù)。動(dòng)態(tài)調(diào)整優(yōu)先級(jí)252任務(wù)的優(yōu)先級(jí)到249后,252任務(wù)運(yùn)行的核被優(yōu)先級(jí)為250的任務(wù)搶占。 運(yùn)行4個(gè)任務(wù),優(yōu)先級(jí)各不相同(250

7、、251、252、253),指定cpu(對(duì)應(yīng)順序0、1、2、3),觀察4個(gè)任務(wù)在cpu上的分布。是否每個(gè)任務(wù)運(yùn)行在指定的核上。 運(yùn)行4個(gè)任務(wù),優(yōu)先級(jí)各不相同(250、251、252、253),指定cpu(對(duì)應(yīng)順序0、1、2、3),觀察4個(gè)任務(wù)在cpu上的分布;之后運(yùn)行4個(gè)新任務(wù),不指定CPU,優(yōu)先級(jí)254,觀察任務(wù)搶占調(diào)度。是否高優(yōu)先級(jí)任務(wù)搶占低優(yōu)先級(jí)任務(wù)。四個(gè)核上運(yùn)行的任務(wù)應(yīng)該均為254,待任務(wù)運(yùn)行完之后再按指定的CPU調(diào)度253、252、251、250的任務(wù)。 運(yùn)行4個(gè)任務(wù),優(yōu)先級(jí)各不相同(250、251、252、253),指定cpu(對(duì)應(yīng)順序0、1、2、3),觀察4個(gè)任務(wù)在cpu上的分布

8、;之后運(yùn)行1個(gè)新任務(wù),優(yōu)先級(jí)252,指定CPU0(對(duì)應(yīng)優(yōu)先級(jí)250的任務(wù)),觀察任務(wù)搶占調(diào)度。是否高優(yōu)先級(jí)任務(wù)搶占低優(yōu)先級(jí)任務(wù)。優(yōu)先級(jí)為252的任務(wù)搶占優(yōu)先級(jí)250的任務(wù)運(yùn)行在CPU0上,待任務(wù)運(yùn)行完之后CPU0再運(yùn)行優(yōu)先級(jí)250的任務(wù)。 運(yùn)行4個(gè)任務(wù),優(yōu)先級(jí)各不相同(245、246、247、248),不指定cpu,觀察4個(gè)任務(wù)在cpu上的分布,之后運(yùn)行4個(gè)新任務(wù),優(yōu)先級(jí)為250、251、252、253,指定CPU(對(duì)應(yīng)順序0、1、2、3),觀察任務(wù)搶占調(diào)度。是否高優(yōu)先級(jí)任務(wù)搶占低優(yōu)先級(jí)任務(wù)。優(yōu)先級(jí)為250、251、252、253的任務(wù)運(yùn)行在指定的核上,待運(yùn)行完畢后再運(yùn)行優(yōu)先級(jí)245、246、

9、247、248的任務(wù)。 運(yùn)行4個(gè)任務(wù),優(yōu)先級(jí)各不相同(245、246、247、248),指定CPU(對(duì)應(yīng)順序0、1、2、3),觀察4個(gè)任務(wù)在CPU上的分布,之后運(yùn)行4個(gè)新任務(wù),優(yōu)先級(jí)為250、251、252、253,指定CPU(對(duì)應(yīng)順序3、2、1、0),觀察任務(wù)搶占調(diào)度。是否按照指定的核進(jìn)行任務(wù)搶占,250搶248運(yùn)行在CPU3上,251搶247運(yùn)行在CPU2上,252搶246運(yùn)行在CPU1上,253搶245運(yùn)行在CPU0上,待新任務(wù)運(yùn)行完畢后,優(yōu)先級(jí)245、246、247、248的任務(wù)再運(yùn)行在指定的核上。 運(yùn)行2個(gè)任務(wù),優(yōu)先級(jí)各不相同(250、251),指定CPU0和1,觀察2個(gè)任務(wù)在CPU

10、上的分布;之后運(yùn)行1個(gè)新任務(wù),優(yōu)先級(jí)252,指定CPU0(對(duì)應(yīng)優(yōu)先級(jí)250的任務(wù)),觀察任務(wù)搶占調(diào)度。高優(yōu)先級(jí)任務(wù)搶占低優(yōu)先級(jí)任務(wù)。優(yōu)先級(jí)252的任務(wù)搶占CPU0,待運(yùn)行完畢后CPU0再運(yùn)行優(yōu)先級(jí)250的任務(wù)。 運(yùn)行2個(gè)任務(wù),優(yōu)先級(jí)各不相同(250、251),指定CPU0和1,觀察2個(gè)任務(wù)在CPU上的分布;之后運(yùn)行1個(gè)新任務(wù),優(yōu)先級(jí)252,指定CPU0(對(duì)應(yīng)優(yōu)先級(jí)250的任務(wù)),觀察任務(wù)搶占調(diào)度;之后取消優(yōu)先級(jí)250任務(wù)的CPU綁定,觀察任務(wù)搶占調(diào)度。高優(yōu)先級(jí)任務(wù)搶占低優(yōu)先級(jí)任務(wù)。優(yōu)先級(jí)252的任務(wù)搶占CPU0,取消優(yōu)先級(jí)250任務(wù)的CPU綁定后,優(yōu)先級(jí)250的任務(wù)選擇空閑CPU繼續(xù)運(yùn)行。 2

11、 性能測(cè)試 2.1 任務(wù)切換時(shí)間 任務(wù)切換時(shí)間,即CPU 的控制權(quán)由運(yùn)行任務(wù)主動(dòng)轉(zhuǎn)移到另外一個(gè)就緒任務(wù)時(shí)所花費(fèi)的時(shí)間。任務(wù)切換時(shí)間包括保存當(dāng)前運(yùn)行任務(wù)上下文的時(shí)間、選擇下一個(gè)任務(wù)的調(diào)度時(shí)間以及將要運(yùn)行任務(wù)的上下文恢復(fù)時(shí)間。 為了測(cè)試任務(wù)切換時(shí)間,需要制造任務(wù)之間的切換事件。在非搶占情況下,制造的測(cè)試場(chǎng)景是讓當(dāng)前正在執(zhí)行的任務(wù)激活另一個(gè)任務(wù),然后自身掛起,那么,被激活的任務(wù)將處于就緒狀態(tài),從而引起調(diào)度。切換過程包含了一系列的操作,如當(dāng)前任務(wù)上下文的保存、新任務(wù)上下文的恢復(fù)等,這一過程所需要的時(shí)間開銷就是任務(wù)切換時(shí)間。 設(shè)當(dāng)前正在運(yùn)行的任務(wù)為TASKi,將要運(yùn)行的新任務(wù)為TASKi+I。用T1表示

12、新任務(wù)TASKi+I的激活時(shí)刻,T2表示新任務(wù)TASKi+I表示新任務(wù)開始運(yùn)行的時(shí)刻,可以用T2.T1來近似地表示兩個(gè)任務(wù)之間的切換時(shí)間。 測(cè)試用例設(shè)計(jì),構(gòu)建my_test_performance工程,通過在任務(wù)一中調(diào)用pthread_suspend(此處任務(wù)調(diào)度函數(shù)為Posic通用接口)掛起任務(wù)二,之后調(diào)用pthread_resume恢復(fù)任務(wù)二的執(zhí)行,插樁獲取從調(diào)用pthread_resume到任務(wù)二開始執(zhí)行之間的時(shí)間,測(cè)試多核環(huán)境下的任務(wù)切換時(shí)間。 2.2 任務(wù)搶占時(shí)間 任務(wù)搶占時(shí)間,即系統(tǒng)將控制權(quán)從低優(yōu)先級(jí)任務(wù)轉(zhuǎn)移到高優(yōu)先級(jí)任務(wù)所花費(fèi)的時(shí)間,它包括識(shí)別引起高優(yōu)先級(jí)任務(wù)就緒的事件,比較兩個(gè)

13、任務(wù)的優(yōu)先級(jí),最后進(jìn)行任務(wù)的切換。 構(gòu)建my_test_performance工程,通過在任務(wù)一中調(diào)用pthread_suspend掛起任務(wù)二,之后調(diào)用pthread_resume恢復(fù)任務(wù)二的執(zhí)行,插樁獲取從調(diào)用pthread_resume到任務(wù)二開始執(zhí)行之間的時(shí)間,測(cè)試多核環(huán)境下的任務(wù)響應(yīng)時(shí)間。 2.3 中斷響應(yīng)時(shí)間 中斷響應(yīng)時(shí)間,即從中斷產(chǎn)生到開始執(zhí)行中斷處理程序的第一條指令之間的時(shí)間間隔。主要由系統(tǒng)鎖中斷時(shí)間和中斷執(zhí)行準(zhǔn)備時(shí)間組成。 系統(tǒng)中斷是一種重要的異步事件,使用中斷的目的在于提高系統(tǒng)的效率。避免CPU對(duì)某些事件的輪詢,占用資源。在中斷驅(qū)動(dòng)的系統(tǒng)中,CPU運(yùn)行正常執(zhí)行程序,當(dāng)輸入輸出

14、設(shè)備需要服務(wù)時(shí),輸入輸出設(shè)備會(huì)通過中斷的方式通知CPU,CPU通過中斷服務(wù)程序?qū)ζ渥鞒隹焖俚姆磻?yīng)。 測(cè)試時(shí)制造場(chǎng)景IntrResp_test工程。安裝用戶自定義異常處理程序,之后觸發(fā)中斷,通過sys_timestamp獲取從中斷觸發(fā)時(shí)刻到進(jìn)入異常處理程序所需時(shí)間,得到多核環(huán)境下的中斷響應(yīng)時(shí)間。多次測(cè)試取最大值。 2.4 運(yùn)算性能 多核設(shè)定不同的參與計(jì)算的CPU核數(shù)進(jìn)行各種典型計(jì)算,比對(duì)消耗的運(yùn)算時(shí)間,測(cè)試多核環(huán)境下CPU計(jì)算性能。PI運(yùn)算、n皇后算法、Fibonacci數(shù)列算法。 此處同時(shí)還移植Linux平臺(tái)測(cè)試工具CPU2006,在操作系統(tǒng)上運(yùn)行。獲取bzip、specrand、libqua

15、、hmmer等運(yùn)算處理時(shí)間。 2.5 信號(hào)量延遲時(shí)間 信號(hào)量延遲時(shí)間,即一個(gè)任務(wù)釋放信號(hào)量到另一個(gè)任務(wù)等待信號(hào)量的任務(wù)獲得信號(hào)量的時(shí)間間隔。當(dāng)無任務(wù)等待信號(hào)量時(shí),信號(hào)量延遲即為其釋放操作和獲取操作所需時(shí)間。當(dāng)信號(hào)量的等待隊(duì)列上有阻塞等待的任務(wù)時(shí),信號(hào)量延遲時(shí)間包含從等待隊(duì)列中解除阻塞任務(wù),到該任務(wù)被調(diào)度執(zhí)行的時(shí)間間隔。 2.6 核間同步時(shí)間 通過構(gòu)建cpc_call_test工程,測(cè)試多核環(huán)境下的核間同步時(shí)間。 運(yùn)行my_test_performance工程。通過啟動(dòng)兩個(gè)優(yōu)先級(jí)相同任務(wù),任務(wù)1調(diào)用spin_lock關(guān)任務(wù)搶占再spin_unlock開搶占,任務(wù)2也調(diào)用spin_lock關(guān)任務(wù)搶

16、占,使用Testbed RtInsight工具插樁獲取從任務(wù)1調(diào)用spin_unlock開搶占到任務(wù)2spin_lock關(guān)任務(wù)搶占之間的時(shí)間,測(cè)試多核環(huán)境下的核間同步時(shí)間。多次測(cè)試取最大值。 2.7 內(nèi)存讀寫速度 程序代碼按預(yù)先分配好的地址空間存放在ROM中,不可能重新分配地址,程序的最終加載地址必須生成程序時(shí)重新分配,由于數(shù)據(jù)存儲(chǔ)在RAM中,系統(tǒng)要分別對(duì)代碼和數(shù)據(jù)定位,同時(shí),為了節(jié)省昂貴的RAM,需要確定ROM中的只讀數(shù)據(jù)和可變數(shù)據(jù),大量的只讀數(shù)據(jù)不用傳到RAM中。嵌入式系統(tǒng)存儲(chǔ)管理不僅僅包括RAM(片內(nèi)RAM,SRAM)管理, 還包括ROM(MASK-ROM、FLASH)管理及虛擬內(nèi)存管理

17、(僅對(duì)含有MMU的MCU/CPU)。本文不論虛擬內(nèi)存管理。嵌入式系統(tǒng)的內(nèi)存管理可以細(xì)分為: 全局內(nèi)存管理:任務(wù)共享數(shù)據(jù)管理及設(shè)備驅(qū)動(dòng)的內(nèi)存管理。 虛擬內(nèi)存管理:主要用于需要大內(nèi)存并且FLASH大的情況,虛擬內(nèi)存管理是頁式管理。 局部內(nèi)存管理:使用全局內(nèi)存管理時(shí)要內(nèi)存管理狀態(tài)為malloc_mem_null時(shí)調(diào)用全局內(nèi)存管理并設(shè)為臨界態(tài)。 系統(tǒng)內(nèi)存管理:只能由系統(tǒng)使用的內(nèi)存。 使用mbw測(cè)試程序進(jìn)行用戶內(nèi)存讀寫速度進(jìn)行測(cè)試,包含MEMCPY、DUMB、MCBLOCK(固定塊大小的MEMCPY測(cè)試,默認(rèn)塊大小262144)。導(dǎo)入mbw工程,分別以參數(shù)50調(diào)用mbw運(yùn)行測(cè)試,獲取運(yùn)行結(jié)果。 2.8

18、文件讀寫速率 簡單的嵌入式系統(tǒng)沒有文件系統(tǒng)的支持,也能運(yùn)行的很好,但對(duì)于現(xiàn)代嵌入式系統(tǒng),需要管理和傳輸固態(tài)硬盤或U盤上的文件數(shù)據(jù),文件系統(tǒng)必不可少。文件系統(tǒng)應(yīng)具有大容量持久性存儲(chǔ)數(shù)據(jù)管理支持功能和文件可攜帶性功能。文件系統(tǒng)可以放在閃存Flash中,當(dāng)系統(tǒng)啟動(dòng)時(shí)引導(dǎo)程序?qū)⑽募到y(tǒng)拷貝到RAM中執(zhí)行。一個(gè)嵌入式多任務(wù)文件系統(tǒng)主要具有如下功能: 實(shí)現(xiàn)文件命名、存取、更新及保護(hù)數(shù)據(jù)的基本功能。 提供嵌入式系統(tǒng)與其他系統(tǒng)之間的數(shù)據(jù)傳輸功能,處理多個(gè)用戶文件I/O存取,具有文件共享功能。 具有邏輯組織數(shù)據(jù)的能力,采用隨機(jī)存取數(shù)據(jù)方法,使系統(tǒng)能快速查找信息。 支持設(shè)備無關(guān)性,使應(yīng)用程序文件操作獨(dú)立于存儲(chǔ)介質(zhì)

19、,文件操作在其所支持的每個(gè)設(shè)備上產(chǎn)生同樣的結(jié)果。 兼容多個(gè)文件系統(tǒng)(FAT16,F(xiàn)AT32),標(biāo)準(zhǔn)的I/O接口(ANSI C、POSIX或WIN32)。 支持多種存儲(chǔ)介質(zhì)(如固態(tài)硬盤和U盤)的可靠存儲(chǔ)。 文件系統(tǒng)的實(shí)現(xiàn)需要解決文件和目錄的存儲(chǔ)、存儲(chǔ)介質(zhì)空間的管理工作。嵌入式文件系統(tǒng)測(cè)試的重點(diǎn)在性能測(cè)試,使用iozone工具進(jìn)行測(cè)試。 U盤讀寫速率: 使用performance_test工程,調(diào)用iozone(-i 0 r 32k s 32m)和iozone(-i 1 r 32k s 32m)分別測(cè)試文件讀寫速率。 (-i #n 指定的測(cè)試項(xiàng),n的值為0到12,其中0=write/rewrite

20、, 1=read/re-read。-r 為指定的文件塊大小,以KB為單位。-s 為指定的文件大小,其單位為MB。) performance_test,在C中運(yùn)行iozone: mount(dosfs,/dev/umass0p1,/c) sp iozone,-i 0 -i 1 -r 32k -s 32m 2.9 圖形性能測(cè)試 對(duì)于GUI圖形系統(tǒng)的測(cè)試修改通用的性能工具DMA進(jìn)行。 重點(diǎn)測(cè)試對(duì)于系統(tǒng)繪制矩形、直線、填充矩形的時(shí)間進(jìn)行測(cè)試: 加載gtk_demo_new工程,通過調(diào)用canvas.c文件中的 do_canvas_test1函數(shù),在畫布上使用surface-DrawRectangle函

21、數(shù),得到畫矩形的時(shí)間。 加載gtk_demo_new工程,通過調(diào)用canvas.c文件中的 do_canvas_test1函數(shù),在畫布上使用surface-DrawLine 和surface-DrawArc函數(shù),得到畫線的時(shí)間。 加載gtk_demo_new工程,通過調(diào)用canvas.c文件中的 do_canvas_test1函數(shù),在畫布上使用surface-FillRectangle函數(shù)填充矩形的時(shí)間。 另外對(duì)于GUI圖形系統(tǒng)的內(nèi)存使用情況進(jìn)行測(cè)試。對(duì)比加速和非加速情況下內(nèi)存使用情況: 加載gtk_demo_new工程,設(shè)置canvas.c文件的 do_canvas2函數(shù), 窗口大小為400

22、*300,編譯下載到目標(biāo)機(jī),通過調(diào)用 do_canvas_test2和mi函數(shù)記錄打開窗口后的內(nèi)存使用情況,關(guān)閉400*300的窗口,通過調(diào)用mi函數(shù)記錄打開窗口后的內(nèi)存使用情況,比較內(nèi)存差值。 加載gtk_demo_new工程,設(shè)置canvas.c文件的 do_canvas2函數(shù), 窗口大小為800*600,編譯下載到目標(biāo)機(jī),通過調(diào)用 do_canvas_test2和mi函數(shù)記錄打開窗口后的內(nèi)存使用情況,關(guān)閉800*600的窗口,通過調(diào)用mi函數(shù)記錄打開窗口后的內(nèi)存使用情況,比較內(nèi)存差值。 加載gtk_demo_new工程,設(shè)置canvas.c文件的 do_canvas2函數(shù), 窗口大小為1

23、024*768,編譯下載到目標(biāo)機(jī),通過調(diào)用 do_canvas_test2和mi函數(shù)記錄打開窗口后的內(nèi)存使用情況,關(guān)閉1024*768的窗口,通過調(diào)用mi函數(shù)記錄打開窗口后的內(nèi)存使用情況,比較內(nèi)存差值。記錄打開關(guān)閉1024*768的窗口所使用的內(nèi)存差值。 加載GTK_DMA工程,確認(rèn)配置文件中勾選圖形系統(tǒng)配置和顯示驅(qū)動(dòng),設(shè)置df_dok_2.c中PRIMARY為0(開啟DMA加速,屏下)執(zhí)行df_dok_demo2(0,0)命令獲得測(cè)試結(jié)果,設(shè)置PRIMARY為1(關(guān)閉DMA加速,屏上)獲得測(cè)試結(jié)果。得到開啟和關(guān)閉硬加速的情況下對(duì)比數(shù)據(jù)。 3 安全性測(cè)試 操作系統(tǒng)安全評(píng)測(cè)的基礎(chǔ)是需求說明,即把

24、一個(gè)操作系統(tǒng)稱為“安全”的真實(shí)含義是什么。一般來說,安全系統(tǒng)規(guī)定安全特性、控制對(duì)信息的存取,使得只有授權(quán)的用戶才有讀、寫、建立或刪除信息的存取權(quán)等。主要對(duì)以下幾方面進(jìn)行測(cè)試: 測(cè)試嵌入式操作系統(tǒng)的死鎖檢測(cè)機(jī)制。系統(tǒng)可以檢測(cè)到死鎖并打破死鎖。 測(cè)試可能發(fā)生優(yōu)先級(jí)反轉(zhuǎn)的各種情況下,系y防止優(yōu)先級(jí)反轉(zhuǎn)的措施。系統(tǒng)防止優(yōu)先級(jí)反轉(zhuǎn)。 測(cè)試引用無效內(nèi)存地址的情況下,系統(tǒng)能否進(jìn)行出錯(cuò)處理。系統(tǒng)進(jìn)行出錯(cuò)處理。 測(cè)試系統(tǒng)出現(xiàn)異常狀況(例如:虛擬存儲(chǔ)區(qū)缺頁、算術(shù)溢出、非法操作碼等)時(shí),操作系統(tǒng)能否檢測(cè)到異常錯(cuò)誤并進(jìn)行處理。操作系統(tǒng)能檢測(cè)到異常錯(cuò)誤,并由異常處理程序進(jìn)行處理。 測(cè)試應(yīng)用程序資源使用超出范圍時(shí),操作系

25、統(tǒng)的處理能力。系統(tǒng)進(jìn)行出錯(cuò)處理。 測(cè)試系統(tǒng)的內(nèi)核運(yùn)行狀態(tài)監(jiān)視機(jī)制。系統(tǒng)提供內(nèi)核運(yùn)行狀態(tài)監(jiān)視機(jī)制。 測(cè)試系統(tǒng)的內(nèi)核故障檢測(cè)能力。系統(tǒng)能成功檢測(cè)到故障,并進(jìn)行出錯(cuò)處理。 測(cè)試系統(tǒng)的應(yīng)用故障檢測(cè)能力。系統(tǒng)檢測(cè)到故障并終止故障運(yùn)行。 測(cè)試安全關(guān)鍵數(shù)據(jù)的冗余備份機(jī)制。提供安全關(guān)鍵數(shù)據(jù)的冗余備份。 在具有內(nèi)存管理單元(MMU)的硬件平臺(tái)上;設(shè)計(jì)并運(yùn)行應(yīng)用進(jìn)程試圖對(duì)內(nèi)核數(shù)據(jù)進(jìn)行訪問的測(cè)試用例,測(cè)試系統(tǒng)能否給出出錯(cuò)提示。系統(tǒng)給出出錯(cuò)提示。 在配置網(wǎng)絡(luò)通信模塊時(shí),設(shè)計(jì)并運(yùn)行系統(tǒng)在一個(gè)時(shí)間段內(nèi)的并發(fā)會(huì)話數(shù)量超過最大值的測(cè)試用例,測(cè)試系統(tǒng)能否給出出錯(cuò)提示。系統(tǒng)給出出錯(cuò)提示。 在配置網(wǎng)絡(luò)通信模塊時(shí),測(cè)試操作系統(tǒng)能否提

26、供端口訪問控制。提供端口訪問控制。 在配置網(wǎng)絡(luò)通信模塊時(shí),y試系統(tǒng)對(duì)非法攻擊的檢測(cè)、預(yù)警和防范機(jī)制。系統(tǒng)提供檢測(cè)、預(yù)警和防范機(jī)制。 具體方法包括: 測(cè)試方法:采用人工模擬故障的方法,驗(yàn)證嵌入式實(shí)時(shí)操作系統(tǒng)在出現(xiàn)異常時(shí)是否會(huì)采取保護(hù)措施不影響其他任務(wù)的執(zhí)行;在操作系統(tǒng)使用過程中輸入錯(cuò)誤數(shù)據(jù),驗(yàn)證操作系統(tǒng)是否具有提示或報(bào)警功能,系統(tǒng)資源監(jiān)控功能在系統(tǒng)監(jiān)控測(cè)試項(xiàng)中進(jìn)行。判斷準(zhǔn)則:嵌入式實(shí)時(shí)操作系統(tǒng)在出現(xiàn)異常時(shí)能夠采取保護(hù)措施不影響其他任務(wù)的執(zhí)行,應(yīng)對(duì)用戶的錯(cuò)誤輸入具有提示或報(bào)警功能。 測(cè)試方法:操作系統(tǒng)與用戶應(yīng)用地址空間進(jìn)行隔離,用戶空間和內(nèi)核空間將映射到不同的地址空間。用戶應(yīng)用地址空間進(jìn)一步基于MMU機(jī)制對(duì)應(yīng)用構(gòu)件進(jìn)行地址空間隔離,不同的應(yīng)用構(gòu)件將占用不同的地址。一個(gè)應(yīng)用構(gòu)件訪問其它應(yīng)用構(gòu)件的地址空間時(shí)將發(fā)生異常。同時(shí)對(duì)構(gòu)件中的任務(wù)??臻g作了棧溢出保護(hù),當(dāng)構(gòu)件中的任務(wù)出現(xiàn)棧溢出時(shí)將會(huì)觸發(fā)異常。對(duì)構(gòu)件中的文本段也作只讀保護(hù),當(dāng)試圖改寫時(shí),將發(fā)生異常。判斷準(zhǔn)則:嵌入式實(shí)時(shí)操作系統(tǒng)在出現(xiàn)異常時(shí)能夠采取保護(hù)措施不影響其他任務(wù)的執(zhí)行,應(yīng)對(duì)用戶的錯(cuò)誤輸入具有提示或報(bào)警功能。 測(cè)試方法:系統(tǒng)在發(fā)生TLB無效異常、保留指令

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論