一種評估實時操作系統(tǒng)實時性的方法及裝置的制造方法
【專利摘要】本發(fā)明公開了一種評估實時操作系統(tǒng)RTOS實時性的方法及裝置,以解決現(xiàn)有技術(shù)中評估RTOS實時性時精度差的問題,方法包括:執(zhí)行N次測量,每次測量確定出實時操作系統(tǒng)RTOS中M次任務(wù)切換的每次任務(wù)切換所使用的平均任務(wù)切換時間;根據(jù)所述平均任務(wù)切換時間,評估RTOS的實時性。通過測量得到平均任務(wù)切換時間,根據(jù)所述平均任務(wù)切換時間評估RTOS的實時性,提高了評估RTOS實時性時的精度。
【專利說明】
一種評估實時操作系統(tǒng)實時性的方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及實時操作系統(tǒng)領(lǐng)域,尤其涉及一種評估實時操作系統(tǒng)實時性的方法及
目.0
【背景技術(shù)】
[0002]實時操作系統(tǒng)(ReaI Time Operating System,RT0S)是保證在一定時間限制內(nèi)完成特定功能的操作系統(tǒng),當(dāng)具有多個任務(wù)時,任務(wù)切換時間是評估RTOS實時性的重要指標(biāo)。
[0003]現(xiàn)有技術(shù)中,通過RTOS通過系統(tǒng)定時器計算任務(wù)切換時間,得到的任務(wù)切換時間精度不高,使用系統(tǒng)定時器,精度只能達到毫秒級,而實際任務(wù)切換時間是微秒級,使評估出的RTOS實時性差。
[0004]綜上,現(xiàn)有技術(shù)中評估RTOS實時性時的精度差,是目前需要解決的問題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的是提供一種評估實時操作系統(tǒng)實時性的方法及裝置,以解決現(xiàn)有技術(shù)中評估RTOS實時性時精度差的問題。
[0006]本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的:
[0007]—種評估實時操作系統(tǒng)RTOS實時性的方法,包括:
[0008]執(zhí)行N次測量,每次測量確定出實時操作系統(tǒng)RTOS中M次任務(wù)切換的每次任務(wù)切換所使用的平均任務(wù)切換時間,N為大于I的整數(shù),M為大于I的整數(shù);
[0009]根據(jù)所述平均任務(wù)切換時間,評估RTOS的實時性;
[0010]其中,每次測量確定出所述平均任務(wù)切換時間,具體為:
[0011 ]執(zhí)行M次任務(wù)切換,確定出M次任務(wù)切換所使用的總的任務(wù)切換時間,所述總的任務(wù)切換時間為M次任務(wù)切換中的第一次任務(wù)切換的起始時刻與第M次任務(wù)切換的結(jié)束時刻的時長差值;將所述總的任務(wù)切換時間除以M得到的值,確定為所述平均任務(wù)切換時間。
[0012]可選的,所述M次任務(wù)切換所使用的總的任務(wù)切換時間中包括查詢背景任務(wù)是否需要被調(diào)度所使用的時間,其中,所述背景任務(wù)為任務(wù)切換時處于非運行狀態(tài)下的任務(wù)。
[0013]可選的,在執(zhí)行N次測量,每次測量確定出RTOS中M次任務(wù)切換的每次任務(wù)切換所使用的平均任務(wù)切換時間之后,根據(jù)所述平均任務(wù)切換時間,評估實時操作系統(tǒng)RTOS的實時性之前,該方法還包括:根據(jù)執(zhí)行N次測量確定出的每次任務(wù)切換所使用的平均任務(wù)切換時間,確定出所述平均任務(wù)切換時間的平均值;
[0014]根據(jù)所述平均任務(wù)切換時間,評估RTOS的實時性,包括:
[0015]在所述平均任務(wù)切換時間的平均值于設(shè)定第一閾值時,確定出RTOS的實時性滿足實時性要求;
[0016]在所述平均任務(wù)切換時間的平均值大于或等于設(shè)定第一閾值時,確定出RTOS的實時性不滿足實時性要求。
[0017]可選的,在執(zhí)行N次測量,每次測量確定出RTOS中M次任務(wù)切換的每次任務(wù)切換所使用的平均任務(wù)切換時間之后,根據(jù)所述平均任務(wù)切換時間,評估實時操作系統(tǒng)RTOS的實時性之前,該方法還包括:
[0018]將所述執(zhí)行N次測量確定出的所述平均任務(wù)切換時間中的最大值與最小值的差值,確定為最大任務(wù)切換抖動時間;
[0019]根據(jù)所述平均任務(wù)切換時間,評估RTOS的實時性,包括:
[0020]在所述最大任務(wù)切換抖動時間小于設(shè)定第二閾值時,確定出RTOS的實時性滿足實時性要求;
[0021]在所述最大任務(wù)切換抖動時間大于或等于設(shè)定第二閾值時,確定出RTOS的實時性不滿足實時性要求。
[0022]可選的,在執(zhí)行N次測量,每次測量確定出RTOS中M次任務(wù)切換的每次任務(wù)切換所使用的平均任務(wù)切換時間之后,根據(jù)所述平均任務(wù)切換時間,評估實時操作系統(tǒng)RTOS的實時性之前,該方法還包括:
[0023]根據(jù)每次測量得到的平均任務(wù)切換時間與測量時的背景任務(wù)的數(shù)量,確定出用于表征平均任務(wù)切換時間與背景任務(wù)的曲線,并確定出所述曲線的曲率;
[0024]根據(jù)所述平均任務(wù)切換時間,評估RTOS的實時性,包括:
[0025]在所述曲率小于設(shè)定第三閾值時,確定出RTOS的實時性滿足實時性要求;
[0026]在所述曲率大于或等于設(shè)定第三閾值時,確定出RTOS的實時性不滿足實時性要求。
[0027]可選的,確定出M次任務(wù)切換所使用的總的任務(wù)切換時間,包括:
[0028]通過示波器或邏輯分析儀,測量得到RTOS中M次任務(wù)切換所使用的總的任務(wù)切換時間。
[0029]基于與方法同樣的發(fā)明構(gòu)思,本發(fā)明實施例提供了一種評估實時操作系統(tǒng)RTOS實時性的裝置,包括:
[0030]統(tǒng)計模塊,用于執(zhí)行N次測量,每次測量確定出實時操作系統(tǒng)RTOS中M次任務(wù)切換的每次任務(wù)切換所使用的平均任務(wù)切換時間,N為大于I的整數(shù),M為大于I的整數(shù);
[0031]評估模塊,用于根據(jù)所述平均任務(wù)切換時間,評估RTOS的實時性;
[0032]其中,每次測量確定出所述平均任務(wù)切換時間,具體為:
[0033]執(zhí)行M次任務(wù)切換,確定出M次任務(wù)切換所使用的總的任務(wù)切換時間,所述總的任務(wù)切換時間為M次任務(wù)切換中的第一次任務(wù)切換的起始時刻與第M次任務(wù)切換的結(jié)束時刻的時長差值;將所述總的任務(wù)切換時間除以M得到的值,確定為所述平均任務(wù)切換時間。
[0034]可選的,所述M次任務(wù)切換所使用的總的任務(wù)切換時間中包括查詢背景任務(wù)是否需要被調(diào)度所使用的時間,其中,所述背景任務(wù)為任務(wù)切換時處于非運行狀態(tài)下的任務(wù)。
[0035]可選的,該裝置還包括:
[0036]第一處理模塊,用于根據(jù)執(zhí)行N次測量確定出的每次任務(wù)切換所使用的平均任務(wù)切換時間,確定出所述平均任務(wù)切換時間的平均值;
[0037]所述評估模塊具體用于:在所述平均任務(wù)切換時間的平均值小于設(shè)定第一閾值時,確定出RTOS的實時性滿足實時性要求;在所述平均任務(wù)切換時間的平均值大于或等于設(shè)定第一閾值時,確定出RTOS的實時性不滿足實時性要求。
[0038]可選的,該裝置還包括:
[0039]第二處理模塊,用于將所述執(zhí)行N次測量確定出的所述平均任務(wù)切換時間中的最大值與最小值的差值,確定為最大任務(wù)切換抖動時間;
[0040]所述評估模塊具體用于:在所述最大任務(wù)切換抖動時間小于設(shè)定第二閾值時,確定出RTOS的實時性滿足實時性要求;在所述最大任務(wù)切換抖動時間大于或等于設(shè)定第二閾值時,確定出RTOS的實時性不滿足實時性要求。
[0041]可選的,該裝置還包括:
[0042]第三處理模塊,用于根據(jù)每次測量得到的平均任務(wù)切換時間與測量時的背景任務(wù)的數(shù)量,確定出用于表征平均任務(wù)切換時間與背景任務(wù)的曲線,并確定出所述曲線的曲率;
[0043]所述評估模塊具體用于:在所述曲率小于設(shè)定第三閾值時,確定出RTOS的實時性滿足實時性要求;在所述曲率大于或等于設(shè)定第三閾值時,確定出RTOS的實時性不滿足實時性要求。
[0044]可選的,所述統(tǒng)計模塊具體用于:
[0045]通過示波器或邏輯分析儀,測量得到RTOS中M次任務(wù)切換所使用的總的任務(wù)切換時間。
[0046]本發(fā)明實施例提供的一種評估實時操作系統(tǒng)RTOS實時性的方法及裝置,首先執(zhí)行N次測量,每次測量確定出實時操作系統(tǒng)RTOS中M次任務(wù)切換的每次任務(wù)切換所使用的平均任務(wù)切換時間;根據(jù)所述平均任務(wù)切換時間,評估RTOS的實時性。通過測量得到平均任務(wù)切換時間,根據(jù)所述平均任務(wù)切換時間評估RTOS的實時性,使用平均任務(wù)切換時間進行評估,提高了評估RTOS實時性時的精度。
【附圖說明】
[0047]圖1為本發(fā)明實施例提供的一種評估實時操作系統(tǒng)RTOS實時性的方法流程圖;
[0048]圖2為本發(fā)明實施例提供的一種任務(wù)切換示意圖;
[0049]圖3為本發(fā)明實施例提供的又一種評估實時操作系統(tǒng)RTOS實時性的方法流程圖;
[0050]圖4為本發(fā)明實施例提供的一種評估實時操作系統(tǒng)RTOS實時性的裝置示意圖。
【具體實施方式】
[0051]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0052]下面將結(jié)合附圖,對本發(fā)明實施例提供的技術(shù)方案進行詳細(xì)說明。
[0053]本發(fā)明實施例提供了一種評估實時操作系統(tǒng)RTOS實時性的方法,如圖1所示,包括如下操作:
[0054]步驟100、執(zhí)行N次測量,每次測量確定出實時操作系統(tǒng)RTOS中M次任務(wù)切換的每次任務(wù)切換所使用的平均任務(wù)切換時間,N為大于I的整數(shù),M為大于I的整數(shù)。
[0055]步驟110、根據(jù)所述平均任務(wù)切換時間,評估RTOS的實時性。
[0056]其中,每次測量確定出所述平均任務(wù)切換時間,具體為:
[0057]測量得到RTOS中M次任務(wù)切換所使用的總的任務(wù)切換時間,所述總的任務(wù)切換時間為M次任務(wù)切換中的第一次任務(wù)切換的起始時刻與第M次任務(wù)切換的結(jié)束時刻的時長差值;
[0058]根據(jù)所述總的任務(wù)切換時間除以M,確定出所述平均任務(wù)切換時間。
[0059]本發(fā)明實施例提供的一種評估實時操作系統(tǒng)RTOS實時性的方法,首先執(zhí)行N次測量,每次測量確定出實時操作系統(tǒng)RTOS中M次任務(wù)切換的每次任務(wù)切換所使用的平均任務(wù)切換時間;根據(jù)所述平均任務(wù)切換時間,評估RTOS的實時性。通過測量得到平均任務(wù)切換時間,根據(jù)平均任務(wù)切換時間評估RTOS的實時性,使用平均任務(wù)切換時間進行評估,提高了評估RTOS實時性時的精度。
[0060]—種可選的實現(xiàn)方式中,所述M次任務(wù)切換所使用的總的任務(wù)切換時間中包括查詢背景任務(wù)是否需要被調(diào)度所使用的時間,其中,所述背景任務(wù)為任務(wù)切換時處于非運行狀態(tài)下的任務(wù)。
[0061]現(xiàn)有技術(shù)中度量RTOS任務(wù)切換時間的方法度量單一,只考慮兩個任務(wù)直接切換時,沒有考慮到其他處于休眠狀態(tài)的任務(wù),也占用系統(tǒng)資源,影響切換時間,造成評估RTOS實時性時的精度差。而本發(fā)明實施例中,考慮到了查詢背景任務(wù)是否需要被調(diào)度所使用的時間,使評估覆蓋全,評估精度尚。
[0062]—種可選的實現(xiàn)方式中,確定出M次任務(wù)切換所使用的總的任務(wù)切換時間,包括:
[0063]通過示波器或邏輯分析儀,測量得到RTOS中M次任務(wù)切換所使用的總的任務(wù)切換時間。
[0064]具體的,RTOS的通用I/O端口GP1與示波器或邏輯分析儀相連,以使示波器或邏輯分析儀可以通過GP1的高低電平計量評估任務(wù)切換時間。
[0065]該方式中,通過示波器或邏輯分析儀測量得到RTOS中M次任務(wù)切換所使用的總的任務(wù)切換時間,根據(jù)總的任務(wù)切換時間得到每次任務(wù)切換的時間,得到的每次任務(wù)切換的時間更精確。
[0066]基于上述任一實施例,根據(jù)所述平均任務(wù)切換時間,評估實時操作系統(tǒng)RTOS的實時性,包括以下三種可選的實現(xiàn)方式:
[0067]方式一、先根據(jù)執(zhí)行N次測量確定出的每次任務(wù)切換所使用的平均任務(wù)切換時間,確定出執(zhí)行N次測量確定出的所述平均任務(wù)切換時間的平均值,然后基于確定出的所述平均任務(wù)切換時間的平均值評估RTOS的實時性。具體如下:
[0068]在所述平均任務(wù)切換時間的平均值小于設(shè)定第一閾值時,確定出RTOS的實時性滿足實時性要求;
[0069]在所述平均任務(wù)切換時間的平均值大于或等于設(shè)定第一閾值時,確定出RTOS的實時性不滿足實時性要求。
[0070]該方式下,根據(jù)平均任務(wù)切換時間的平均值評估RTOS的實時性,平均任務(wù)切換時間的平均值越小,RTOS的實時性越好。
[0071]舉例說明,假設(shè)RTOS中具有max個任務(wù),其中任務(wù)1、任務(wù)2和任務(wù)3為待測任務(wù),其與max-3個任務(wù)為背景任務(wù),max的取值根據(jù)RTOS的設(shè)計決定,若RTOS沒有限制則由隨機存取存儲器(random access memory,RAM)大小決定最大的任務(wù)數(shù)。假設(shè)Δ kl?A k2^ Δ k3,如圖2所示,其中Ak指任務(wù)切換時間,圖2中的Akl表示任務(wù)I結(jié)束時刻與任務(wù)2起始時刻的時間間隔,A k2表示任務(wù)2結(jié)束時刻至任務(wù)3起始時刻的差值,Δ k3表示任務(wù)3結(jié)束時刻至任務(wù)4起始時刻的差值;
[0072]Δ background:查詢背景任務(wù)的時間,指的是一個任務(wù)結(jié)束后,RTOS查詢背景任務(wù)是否需要被調(diào)度的時間,圖2中的Abackgroundl表示任務(wù)I結(jié)束之后RTOS查詢背景任務(wù)的時間,A background〗是任務(wù)2結(jié)束后RTOS查詢背景任務(wù)的時間,Δ background3是任務(wù)3結(jié)束后RTOS查詢背景任務(wù)的時間。
[0073]可選的,從背景任務(wù)數(shù)為O時開始遍歷,計算任務(wù)切換時間,直至背景任務(wù)數(shù)為max-3時結(jié)束遍歷;具體如下:
[0074]背景任務(wù)數(shù)為O時,任務(wù)切換時間為Ttask-Switd1J),Ttask-Switd1J)為測量得到的總的任務(wù)切換時間除以切換次數(shù)得到的,其中,測量得到的總的任務(wù)切換時間為A kl+ Δ k2+ Δ k3H-----l.Δ k η ;
[0075]背景任務(wù)數(shù)為I時,任務(wù)切換時間為Ttask—switch—hTtask—switch—i為測量得到的總的任務(wù)切換時間除以切換次數(shù)得到的,其中,測量得到的總的任務(wù)切換時間為Agp1l+△
backgroundl_l+Δgp12+Δbackgroundl_2+Δgp13+Δbackgroundl_3+...+ Δ gp1 η+Δbackground 1_η;其中,Δ gpiο η+ Δ backgroundl_n= Δ kl, Δ gp1 η為背景任務(wù)查詢結(jié)束時刻至新的任務(wù)起始時刻的差值;
[0076]背景任務(wù)數(shù)為2時,任務(wù)切換時間為Ttask—switch—2,Ttask—switch—2為測量得到的總的任務(wù)切換時間除以切換次數(shù)得到的,其中,測量得到的總的任務(wù)切換時間為Agp1l+△
background2_l+Δgp12+Δbackground2_2+Δgp13+Δbackground2_3+...+ Δgp1 η+Δbackground2_n;其中,Δ gp1 η+ Δ backgroundl_n= Δ kl, Δ gp1 η為背景任務(wù)查詢結(jié)束時刻至新的任務(wù)起始時刻的差值;
[0077]以此類推,直至背景任務(wù)數(shù)為max-3時,任務(wù)切換時間為Ttask—switch—max-3,Ttask—swlteh—max-3,為測量得到的總的任務(wù)切換時間除以切換次數(shù)得到的,其中,測量得到的總的任務(wù)切換時間為 Δ gp1l+ Δ background max_3_l+ Δ gp12+ Δ background max_3_2+ Δgp13+ Δ background max_3_3+...+Δ gp1 η+ Δ background max_3_n;其中,Δ gp1 η+ Δbackgroundl_n= Δ kl,Δ gp1 n為背景任務(wù)查詢結(jié)束時刻至新的任務(wù)起始時刻的差值;
[0078]評估RTOS實時性時,根據(jù)平均任務(wù)時間的平均值Ttask—switch—avg,確定出RTOS的實時
f生;Ttask switch avg — ( Ttask—switch—O+Ttask—switch—1+Ttask—switch—2+...+Ttask—switch—max-3 ) /Q,Q^J 葡則量任務(wù)切換時間的次數(shù);Ttask-SWitc^avg的值小于設(shè)定第一閾值時,確定出RTOS的實時性滿足實時性要求。
[0079]方式二、先將所述執(zhí)行N次測量確定出的所述平均任務(wù)切換時間中的最大值與最小值的差值,確定為最大任務(wù)切換抖動時間,然后基于確定出的最大任務(wù)切換抖動時間評估RTOS的實時性。具體如下:在所述最大任務(wù)切換抖動時間小于設(shè)定第二閾值時,確定出RTOS的實時性滿足實時性要求;
[0080]在所述最大任務(wù)切換抖動時間大于或等于設(shè)定第二閾值時,確定出RTOS的實時性不滿足實時性要求。
[0081 ]該方式下,根據(jù)最大任務(wù)切換抖動時間評估RTOS的實時性,最大任務(wù)切換抖動時間越小,RTOS的實時性越好。
[0082]在具體實施例中,仍以方式一中的具體實施例為依據(jù),根據(jù)最大任務(wù)切換抖動時間Ttask—switch—dither,確定出RTOS的實時性,其中,
[0083]Ttask—switch—max — MflX ( Ttask—switch—0,Ttask—switch—I,...,Ttask—switch—max_3 );
[0084]Ttask—switch—min — Mill ( Ttask—switch—0,Ttask—switch—I,...,Ttask—switch—max-3 );
[0085]Ttask—switch—dither — Ttask—switch—max_Ttask—switch—min ; Ttask—switch—dither的 4首,1、1?TE
閾值時,確定出RTOS的實時性滿足實時性要求。
[0086]方式三、先根據(jù)每次測量得到的平均任務(wù)切換時間與測量時的背景任務(wù)的數(shù)量,確定出用于表征平均任務(wù)切換時間與背景任務(wù)的曲線,并確定出所述曲線的曲率;其中,所述背景任務(wù)為任務(wù)切換時處于非運行狀態(tài)下的任務(wù);然后基于確定出的曲率評估RTOS的實時性。具體如下:
[0087]在所述曲率小于設(shè)定第三閾值時,確定出RTOS的實時性滿足實時性要求;
[0088]在所述曲率大于或等于設(shè)定第三閾值時,確定出RTOS的實時性不滿足實時性要求。
[0089]根據(jù)曲率評估RTOS的實時性,曲率越小,RTOS的實時性越好。
[0090]在具體實施例中,仍以方式一中的具體實施例為依據(jù),根據(jù)每次測量得到的平均任務(wù)切換時間與測量時的背景任務(wù)的數(shù)量,確定出用于表征平均任務(wù)切換時間與背景任務(wù)的曲線,并確定出所述曲線的曲率;其中,所述背景任務(wù)為任務(wù)切換時處于非運行狀態(tài)下的任務(wù);根據(jù)所述曲率,確定出RTOS的實時性;在所述曲率小于設(shè)定第三閾值時,確定出RTOS的實時性滿足實時性要求。
[0091]本發(fā)明實施例中示波器或邏輯分析儀的精度為微秒級以上。
[0092]下面通過一個具體實施例,對一種評估實時操作系統(tǒng)RTOS實時性的方法進行詳細(xì)說明:
[0093 ] 本實施例的處理過程,如圖3所示,包括:
[0094]步驟301、RT0S初始化一個與示波器相連的GP1端口,其中,GP1端口為信號輸出端口,初始化兩個變量,即起始時刻t ime_gp 1_start和結(jié)束時刻t ime_gp 1_end。
[0095]步驟302、1^03設(shè)置初始化迭代次數(shù)10(^8_1111111為500000次。
[0096]步驟303、RT0S創(chuàng)建5個任務(wù),其中,任務(wù)1、任務(wù)2和任務(wù)3是待測的三個工作任務(wù),其余的2個任務(wù)是背景任務(wù)。
[0097]步驟304、RT0S啟動主線程開始評估,運行調(diào)度程序(Scheduler)進行任務(wù)調(diào)度。
[0098]步驟305、RT0S將待測GP1端口電平置高后,RTOS將任務(wù)3的優(yōu)先級降低,使任務(wù)I和任務(wù)2得到運行。
[0099]步驟306、RT0S中的任務(wù)I和任務(wù)2循環(huán)切換l00pS_num次后,釋放了任務(wù)資源,系統(tǒng)調(diào)度任務(wù)3運行,RTOS將待測GP1端口電平置低,釋放任務(wù)資源,主線程評估完畢。
[0100]步驟307、示波器或者邏輯分析儀連接待測GP1端口,記錄GP1端口電平置高后的起始時刻和GP1端口電平置低的結(jié)束時刻,用結(jié)束時刻減起始時刻得到時長差TtcitaI。
[0101]步驟308、示波器或者邏輯分析儀測量得到3次Ttcltal,分別為Ttc^KKTt—n、以及TtcitaI2,通過TtcitaI除以循環(huán)次數(shù)50000,得到平均任務(wù)切換時間,分別為Ttask—switch—O、
Ttask—switch—I 以 <S_Ttask—switch—2 o
[0102]步驟309、RT0S 根據(jù)平均任務(wù)切換時間 Ttask—switch—o、Ttask—switch—i 以及 Ttask—switch—2 計算出干均任務(wù)切換時間的干直 Ttask—switch—avg,Ttask—switch—avg— ( Ttask—switch—0+Ttask—switch—1 +Ttask—switch—2 ) /3 o
[0103]步驟310、RTOS根據(jù)平均任務(wù)切換時間的平均值評估RTOS的實時性。
[0104]基于與方法同樣的發(fā)明構(gòu)思,本發(fā)明實施例還提供一種評估實時操作系統(tǒng)RTOS實時性的裝置,如圖4所示,包括:
[0105]統(tǒng)計模塊401,用于執(zhí)行N次測量,每次測量確定出實時操作系統(tǒng)RTOS中M次任務(wù)切換的每次任務(wù)切換所使用的平均任務(wù)切換時間,N為大于I的整數(shù),M為大于I的整數(shù);
[0106]評估模塊402,用于根據(jù)所述平均任務(wù)切換時間,評估RTOS的實時性;
[0107]其中,每次測量確定出所述平均任務(wù)切換時間,具體為:
[0108]執(zhí)行M次任務(wù)切換,確定出M次任務(wù)切換所使用的總的任務(wù)切換時間,所述總的任務(wù)切換時間為M次任務(wù)切換中的第一次任務(wù)切換的起始時刻與第M次任務(wù)切換的結(jié)束時刻的時長差值;將所述總的任務(wù)切換時間除以M得到的值,確定為所述平均任務(wù)切換時間。
[0109]本發(fā)明實施例提供的一種評估實時操作系統(tǒng)RTOS實時性的裝置,首先執(zhí)行N次測量,每次測量確定出實時操作系統(tǒng)RTOS中M次任務(wù)切換的每次任務(wù)切換所使用的平均任務(wù)切換時間;根據(jù)所述平均任務(wù)切換時間,評估RTOS的實時性。通過測量得到平均任務(wù)切換時間,根據(jù)平均任務(wù)切換時間評估RTOS的實時性,使用平均任務(wù)切換時間進行評估,提高了評估RTOS實時性時的精度。
[0110]可選的,所述M次任務(wù)切換所使用的總的任務(wù)切換時間中還包括查詢背景任務(wù)是否需要被調(diào)度所使用的時間,其中,所述背景任務(wù)為任務(wù)切換時處于非運行狀態(tài)下的任務(wù)。
[0111]可選的,該裝置還包括:
[0112]第一處理模塊,用于根據(jù)執(zhí)行N次測量確定出的每次任務(wù)切換所使用的平均任務(wù)切換時間,確定出所述平均任務(wù)切換時間的平均值;
[0113]所述評估模塊具體用于:在所述平均任務(wù)切換時間的平均值小于設(shè)定第一閾值時,確定出RTOS的實時性滿足實時性要求;在所述平均任務(wù)切換時間的平均值大于或等于設(shè)定第一閾值時,確定出RTOS的實時性不滿足實時性要求。
[0114]可選的,該裝置還包括:
[0115]第二處理模塊,用于將所述執(zhí)行N次測量確定出的所述平均任務(wù)切換時間中的最大值與最小值的差值,確定為最大任務(wù)切換抖動時間;
[0116]所述評估模塊具體用于:在所述最大任務(wù)切換抖動時間小于設(shè)定第二閾值時,確定出RTOS的實時性滿足實時性要求;在所述最大任務(wù)切換抖動時間大于或等于設(shè)定第二閾值時,確定出RTOS的實時性不滿足實時性要求。
[0117]可選的,該裝置還包括:
[0118]第三處理模塊,用于根據(jù)每次測量得到的平均任務(wù)切換時間與測量時的背景任務(wù)的數(shù)量,確定出用于表征平均任務(wù)切換時間與背景任務(wù)的曲線,并確定出所述曲線的曲率;
[0119]所述評估模塊具體用于:在所述曲率小于設(shè)定第三閾值時,確定出RTOS的實時性滿足實時性要求;在所述曲率大于或等于設(shè)定第三閾值時,確定出RTOS的實時性不滿足實時性要求。
[0120]可選的,所述統(tǒng)計模塊具體用于:
[0121]通過示波器或邏輯分析儀,測量得到RTOS中M次任務(wù)切換所使用的總的任務(wù)切換時間。
[0122]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
[0123]本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0124]這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0125]這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0126]盡管已描述了本發(fā)明的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明范圍的所有變更和修改。
[0127]顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
【主權(quán)項】
1.一種評估實時操作系統(tǒng)RTOS實時性的方法,其特征在于,該方法包括: 執(zhí)行N次測量,每次測量確定出實時操作系統(tǒng)RTOS中M次任務(wù)切換的每次任務(wù)切換所使用的平均任務(wù)切換時間,N為大于I的整數(shù),M為大于I的整數(shù); 根據(jù)所述平均任務(wù)切換時間,評估RTOS的實時性; 其中,每次測量確定出所述平均任務(wù)切換時間,具體為: 執(zhí)行M次任務(wù)切換,確定出M次任務(wù)切換所使用的總的任務(wù)切換時間,所述總的任務(wù)切換時間為M次任務(wù)切換中的第一次任務(wù)切換的起始時刻與第M次任務(wù)切換的結(jié)束時刻的時長差值;將所述總的任務(wù)切換時間除以M得到的值,確定為所述平均任務(wù)切換時間。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述M次任務(wù)切換所使用的總的任務(wù)切換時間中包括查詢背景任務(wù)是否需要被調(diào)度所使用的時間,其中,所述背景任務(wù)為任務(wù)切換時處于非運行狀態(tài)下的任務(wù)。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在執(zhí)行N次測量,每次測量確定出RTOS中M次任務(wù)切換的每次任務(wù)切換所使用的平均任務(wù)切換時間之后,根據(jù)所述平均任務(wù)切換時間,評估實時操作系統(tǒng)RTOS的實時性之前,該方法還包括:根據(jù)執(zhí)行N次測量確定出的每次任務(wù)切換所使用的平均任務(wù)切換時間,確定出所述平均任務(wù)切換時間的平均值; 根據(jù)所述平均任務(wù)切換時間,評估RTOS的實時性,包括: 在所述平均任務(wù)切換時間的平均值于設(shè)定第一閾值時,確定出RTOS的實時性滿足實時性要求; 在所述平均任務(wù)切換時間的平均值大于或等于設(shè)定第一閾值時,確定出RTOS的實時性不滿足實時性要求。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,在執(zhí)行N次測量,每次測量確定出RTOS中M次任務(wù)切換的每次任務(wù)切換所使用的平均任務(wù)切換時間之后,根據(jù)所述平均任務(wù)切換時間,評估實時操作系統(tǒng)RTOS的實時性之前,該方法還包括: 將所述執(zhí)行N次測量確定出的所述平均任務(wù)切換時間中的最大值與最小值的差值,確定為最大任務(wù)切換抖動時間; 根據(jù)所述平均任務(wù)切換時間,評估RTOS的實時性,包括: 在所述最大任務(wù)切換抖動時間小于設(shè)定第二閾值時,確定出RTOS的實時性滿足實時性要求; 在所述最大任務(wù)切換抖動時間大于或等于設(shè)定第二閾值時,確定出RTOS的實時性不滿足實時性要求。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,在執(zhí)行N次測量,每次測量確定出RTOS中M次任務(wù)切換的每次任務(wù)切換所使用的平均任務(wù)切換時間之后,根據(jù)所述平均任務(wù)切換時間,評估實時操作系統(tǒng)RTOS的實時性之前,該方法還包括: 根據(jù)每次測量得到的平均任務(wù)切換時間與測量時的背景任務(wù)的數(shù)量,確定出用于表征平均任務(wù)切換時間與背景任務(wù)的曲線,并確定出所述曲線的曲率; 根據(jù)所述平均任務(wù)切換時間,評估RTOS的實時性,包括: 在所述曲率小于設(shè)定第三閾值時,確定出RTOS的實時性滿足實時性要求; 在所述曲率大于或等于設(shè)定第三閾值時,確定出RTOS的實時性不滿足實時性要求。6.根據(jù)權(quán)利要求1-5中任一所述的方法,其特征在于,確定出M次任務(wù)切換所使用的總的任務(wù)切換時間,包括: 通過示波器或邏輯分析儀,測量得到RTOS中M次任務(wù)切換所使用的總的任務(wù)切換時間。7.一種評估實時操作系統(tǒng)RTOS實時性的裝置,其特征在于,該裝置包括: 統(tǒng)計模塊,用于執(zhí)行N次測量,每次測量確定出實時操作系統(tǒng)RTOS中M次任務(wù)切換的每次任務(wù)切換所使用的平均任務(wù)切換時間,N為大于I的整數(shù),M為大于I的整數(shù); 評估模塊,用于根據(jù)所述平均任務(wù)切換時間,評估RTOS的實時性; 其中,每次測量確定出所述平均任務(wù)切換時間,具體為: 執(zhí)行M次任務(wù)切換,確定出M次任務(wù)切換所使用的總的任務(wù)切換時間,所述總的任務(wù)切換時間為M次任務(wù)切換中的第一次任務(wù)切換的起始時刻與第M次任務(wù)切換的結(jié)束時刻的時長差值;將所述總的任務(wù)切換時間除以M得到的值,確定為所述平均任務(wù)切換時間。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述M次任務(wù)切換所使用的總的任務(wù)切換時間中包括查詢背景任務(wù)是否需要被調(diào)度所使用的時間,其中,所述背景任務(wù)為任務(wù)切換時處于非運行狀態(tài)下的任務(wù)。9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,該裝置還包括: 第一處理模塊,用于根據(jù)執(zhí)行N次測量確定出的每次任務(wù)切換所使用的平均任務(wù)切換時間,確定出所述平均任務(wù)切換時間的平均值; 所述評估模塊具體用于:在所述平均任務(wù)切換時間的平均值小于設(shè)定第一閾值時,確定出RTOS的實時性滿足實時性要求;在所述平均任務(wù)切換時間的平均值大于或等于設(shè)定第一閾值時,確定出RTOS的實時性不滿足實時性要求。10.根據(jù)權(quán)利要求7所述的裝置,其特征在于,該裝置還包括: 第二處理模塊,用于將所述執(zhí)行N次測量確定出的所述平均任務(wù)切換時間中的最大值與最小值的差值,確定為最大任務(wù)切換抖動時間; 所述評估模塊具體用于:在所述最大任務(wù)切換抖動時間小于設(shè)定第二閾值時,確定出RTOS的實時性滿足實時性要求;在所述最大任務(wù)切換抖動時間大于或等于設(shè)定第二閾值時,確定出RTOS的實時性不滿足實時性要求。
【文檔編號】G06F11/34GK106021083SQ201610330982
【公開日】2016年10月12日
【申請日】2016年5月18日
【發(fā)明人】隋星光, 金鑫, 周全
【申請人】青島海信電器股份有限公司