本發(fā)明涉及計(jì)算機(jī)互聯(lián)網(wǎng)領(lǐng)域,具體而言,涉及一種多任務(wù)隔離方法和裝置。
背景技術(shù):
基于os(operatingsystem,操作系統(tǒng))的多任務(wù)隔離可以有效的阻止任務(wù)之間的干擾,防止異常的任務(wù)干擾正常任務(wù)的運(yùn)行,或者防止由于某一個(gè)任務(wù)異常導(dǎo)致整個(gè)系統(tǒng)崩潰,這樣的隔離在plc(programmablelogiccontroller,可編程邏輯控制器)系統(tǒng)中尤為重要,需要保證非重要任務(wù)出現(xiàn)異常時(shí)不應(yīng)該影響重要任務(wù)的運(yùn)行。
目前,用于plc控制器的rtos(realtimeoperatingsystem,實(shí)時(shí)操作系統(tǒng))都是可以支持搶占式調(diào)度的,基于搶占可以實(shí)現(xiàn)時(shí)間上保證重要任務(wù)的運(yùn)行,在cpu(centralprocessingunit,中央處理器)芯片的配合下可以支持任務(wù)的空間隔離,雖然os提供了空間隔離以及時(shí)間上的響應(yīng)保證,但并沒(méi)有適合功能安全的空間隔離以及隔離任務(wù)的通信。
針對(duì)上述現(xiàn)有技術(shù)中多個(gè)任務(wù)同時(shí)運(yùn)行時(shí),非安全任務(wù)的異常會(huì)對(duì)安全任務(wù)產(chǎn)生影響的問(wèn)題,目前尚未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種多任務(wù)隔離方法和裝置,以至少解決現(xiàn)有技術(shù)中多個(gè)任務(wù)同時(shí)運(yùn)行時(shí),非安全任務(wù)的異常會(huì)對(duì)安全任務(wù)產(chǎn)生影響的技術(shù)問(wèn)題。
根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種多任務(wù)隔離方法,包括:根據(jù)預(yù)設(shè)規(guī)則將多個(gè)任務(wù)進(jìn)行劃分,得到安全任務(wù)和非安全任務(wù);至少配置一個(gè)共享內(nèi)存以及為多個(gè)任務(wù)中每個(gè)任務(wù)配置對(duì)應(yīng)的隔離空間,其中,共享內(nèi)存設(shè)置為用于安全任務(wù)和非安全任務(wù)之間的通信,隔離空間設(shè)置為僅限于隔離空間對(duì)應(yīng)的任務(wù)進(jìn)行訪問(wèn)。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種多任務(wù)隔離裝置,包括:劃分模塊,用于根據(jù)預(yù)設(shè)規(guī)則將多個(gè)任務(wù)進(jìn)行劃分,得到安全任務(wù)和非安全任務(wù);配置模塊,用于至少配置一個(gè)共享內(nèi)存以及為多個(gè)任務(wù)中每個(gè)任務(wù)配置對(duì)應(yīng)的隔離空間,其中,共享內(nèi)存設(shè)置為用于安全任務(wù)和非安全任務(wù)之間的通信,隔離空間設(shè)置為僅限于隔離空間對(duì)應(yīng)的任務(wù)進(jìn)行訪問(wèn)。
在本發(fā)明實(shí)施例中,首先根據(jù)預(yù)設(shè)規(guī)則將多個(gè)任務(wù)進(jìn)行劃分,得到安全任務(wù)和非安全任務(wù),然后至少配置一個(gè)共享內(nèi)存以及為多個(gè)任務(wù)中每個(gè)任務(wù)配置對(duì)應(yīng)的隔離空間,其中,共享內(nèi)存設(shè)置為用于安全任務(wù)和非安全任務(wù)之間的通信,隔離空間設(shè)置為僅限于隔離空間對(duì)應(yīng)的任務(wù)進(jìn)行訪問(wèn),達(dá)到了將多個(gè)任務(wù)互相隔離的目的,在將安全任務(wù)和非安全任務(wù)進(jìn)行空間隔離的同時(shí)還保證了任務(wù)之間的相互通信,從而實(shí)現(xiàn)了避免非安全任務(wù)對(duì)安全任務(wù)產(chǎn)生影響,簡(jiǎn)單易操作的技術(shù)效果,進(jìn)而解決了現(xiàn)有技術(shù)中多個(gè)任務(wù)同時(shí)運(yùn)行時(shí),非安全任務(wù)的異常會(huì)對(duì)安全任務(wù)產(chǎn)生影響的技術(shù)問(wèn)題。
附圖說(shuō)明
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
圖1是根據(jù)本發(fā)明實(shí)施例的一種多任務(wù)隔離方法的示意圖;
圖2是根據(jù)本發(fā)明實(shí)施例的一種可選的多任務(wù)隔離方法的示意圖;
圖3是根據(jù)本發(fā)明實(shí)施例的一種可選的多任務(wù)隔離方法的示意圖;
圖4是根據(jù)本發(fā)明實(shí)施例的一種可選的多任務(wù)隔離方法的示意圖;
圖5是根據(jù)本發(fā)明實(shí)施例的一種可選的多任務(wù)隔離方法的示意圖;
圖6是根據(jù)本發(fā)明實(shí)施例的一種可選的多任務(wù)隔離方法的示意圖;
圖7是根據(jù)本發(fā)明實(shí)施例的一種多任務(wù)隔離裝置的示意圖;
圖8是根據(jù)本發(fā)明實(shí)施例的一種可選的多任務(wù)隔離裝置的示意圖;以及
圖9是根據(jù)本發(fā)明實(shí)施例的一種可選的多任務(wù)隔離裝置的示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
需要說(shuō)明的是,本發(fā)明的說(shuō)明書(shū)和權(quán)利要求書(shū)及上述附圖中的術(shù)語(yǔ)“第一”、“第二”等是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語(yǔ)“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過(guò)程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒(méi)有清楚地列出的或?qū)τ谶@些過(guò)程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
實(shí)施例1
根據(jù)本發(fā)明實(shí)施例,提供了一種多任務(wù)隔離方法的方法實(shí)施例,需要說(shuō)明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
圖1是根據(jù)本發(fā)明實(shí)施例的多任務(wù)隔離方法,如圖1所示,該方法包括如下步驟:
步驟s102,根據(jù)預(yù)設(shè)規(guī)則將多個(gè)任務(wù)進(jìn)行劃分,得到安全任務(wù)和非安全任務(wù)。
具體的,預(yù)設(shè)規(guī)則為預(yù)先自定義任務(wù)的重要性的規(guī)則,plc控制器中包含多種類型的任務(wù),可以按照預(yù)先設(shè)定的規(guī)則將任務(wù)分為安全任務(wù)和非安全任務(wù),例如,可以將控制任務(wù)劃分為安全任務(wù),將人機(jī)接口相關(guān)的任務(wù)劃分為非安全任務(wù)。可選的,界定安全任務(wù)和非安全任務(wù)的原則可以是某個(gè)任務(wù)執(zhí)行異常是否會(huì)導(dǎo)致系統(tǒng)發(fā)生危險(xiǎn),例如,一個(gè)用于將數(shù)值輸出進(jìn)行變換的任務(wù),如果其發(fā)生異常,那么將無(wú)法變換數(shù)值或者變換后的數(shù)值出錯(cuò),將該數(shù)值輸出到執(zhí)行機(jī)構(gòu),就可能發(fā)生危險(xiǎn),則該任務(wù)就被界定為安全任務(wù)。
可選的,可以預(yù)設(shè)記錄下哪些任務(wù)屬于安全任務(wù),哪些任務(wù)屬于非安全任務(wù),當(dāng)運(yùn)行一個(gè)任務(wù)時(shí),經(jīng)過(guò)比對(duì)很容易識(shí)別該任務(wù)是安全任務(wù)還是非安全任務(wù)。
此處需要說(shuō)明的是,非安全任務(wù)并不是不安全的任務(wù),而是易發(fā)生安全風(fēng)險(xiǎn)的任務(wù)或者重要性較低的任務(wù)。
步驟s104,至少配置一個(gè)共享內(nèi)存以及為多個(gè)任務(wù)中每個(gè)任務(wù)配置對(duì)應(yīng)的隔離空間,其中,共享內(nèi)存設(shè)置為用于安全任務(wù)和非安全任務(wù)之間的通信,隔離空間設(shè)置為僅限于隔離空間對(duì)應(yīng)的任務(wù)進(jìn)行訪問(wèn)。
具體的,設(shè)置隔離空間可以將多個(gè)任務(wù)進(jìn)行空間隔離,這樣在非安全任務(wù)出現(xiàn)異常的時(shí)候就不會(huì)影響安全任務(wù)。
在一種可選的實(shí)施例中,任務(wù)的空間隔離可以應(yīng)用在safertos以及一部分rtos中,具體表現(xiàn)可以為,當(dāng)一個(gè)任務(wù)a訪問(wèn)另一個(gè)任務(wù)b的空間時(shí)(即:不屬于任務(wù)a的空間),os以及在其他硬件的配合下,會(huì)捕獲到任務(wù)a的行為,進(jìn)而阻止任務(wù)a對(duì)任務(wù)b的空間的訪問(wèn),從而達(dá)到了保護(hù)任務(wù)的目的,實(shí)現(xiàn)空間隔離。
具體的,設(shè)置共享內(nèi)存可以用于安全任務(wù)和非安全任務(wù)之間的通信。
此處需要說(shuō)明的是,本發(fā)明實(shí)施例中的共享內(nèi)存除了主要用于安全任務(wù)和非安全任務(wù)之間的通信之外,也可以用于安全任務(wù)之間的通信以及非安全任務(wù)之間的通信,除此之外,安全任務(wù)之間的通信以及非安全任務(wù)之間的通信還可以通過(guò)信號(hào)量、郵箱等方式進(jìn)行通信。
在本發(fā)明實(shí)施例中,首先根據(jù)預(yù)設(shè)規(guī)則將多個(gè)任務(wù)進(jìn)行劃分,得到安全任務(wù)和非安全任務(wù),然后至少配置一個(gè)共享內(nèi)存以及為多個(gè)任務(wù)中每個(gè)任務(wù)配置對(duì)應(yīng)的隔離空間,其中,共享內(nèi)存設(shè)置為用于安全任務(wù)和非安全任務(wù)之間的通信,隔離空間設(shè)置為僅限于隔離空間對(duì)應(yīng)的任務(wù)進(jìn)行訪問(wèn),達(dá)到了將多個(gè)任務(wù)互相隔離的目的,在將安全任務(wù)和非安全任務(wù)進(jìn)行空間隔離的同時(shí)還保證了任務(wù)之間的相互通信,從而實(shí)現(xiàn)了避免非安全任務(wù)對(duì)安全任務(wù)產(chǎn)生影響,簡(jiǎn)單易操作的技術(shù)效果,進(jìn)而解決了現(xiàn)有技術(shù)中多個(gè)任務(wù)同時(shí)運(yùn)行時(shí),非安全任務(wù)的異常會(huì)對(duì)安全任務(wù)產(chǎn)生影響的技術(shù)問(wèn)題。
在一種可選的實(shí)施例中,共享內(nèi)存可以實(shí)現(xiàn)安全任務(wù)和非安全任務(wù)之間的通信,可以設(shè)置適當(dāng)?shù)男r?yàn)方式,例如crc32,以實(shí)現(xiàn)安全任務(wù)和非安全任務(wù)之間的雙向通信。
在一種可選的實(shí)施例中,步驟s104之后,方法還包括:步驟s202,確定多個(gè)任務(wù)中每個(gè)任務(wù)的每一次執(zhí)行是否欠運(yùn)行或者過(guò)運(yùn)行。
具體的,除了需要保證非安全任務(wù)發(fā)生異常時(shí)不應(yīng)該影響安全任務(wù)之外,還需要保證非安全任務(wù)不能占用安全任務(wù)的運(yùn)行時(shí)間,現(xiàn)有技術(shù)中雖然os提供了搶占式調(diào)度以對(duì)時(shí)間上的響應(yīng)保證,但是其提供的可搶占調(diào)度也不能完全滿足功能安全要求的時(shí)間隔離,因此需要保證每個(gè)任務(wù)正常執(zhí)行,在時(shí)間軸上實(shí)現(xiàn)一個(gè)任務(wù)接一個(gè)任務(wù)的運(yùn)行,并且每個(gè)任務(wù)需要在確定的時(shí)間內(nèi)運(yùn)行完成,來(lái)保證多個(gè)任務(wù)之間的時(shí)間隔離,為了實(shí)現(xiàn)多個(gè)任務(wù)之間的時(shí)間隔離,就需要對(duì)每個(gè)任務(wù)的每一次執(zhí)行是否欠運(yùn)行或者過(guò)運(yùn)行進(jìn)行監(jiān)控,其中欠運(yùn)行指的是運(yùn)行時(shí)間過(guò)短,過(guò)運(yùn)行指的是運(yùn)行時(shí)間過(guò)長(zhǎng),可選的,可以設(shè)置一個(gè)時(shí)間段,如果某一個(gè)任務(wù)的某一次執(zhí)行時(shí)間處于該時(shí)間段內(nèi),則說(shuō)明該任務(wù)正常運(yùn)行,如果執(zhí)行時(shí)間小于該時(shí)間段,則說(shuō)明該任務(wù)欠運(yùn)行,如果執(zhí)行時(shí)間大于該時(shí)間段,則說(shuō)明該任務(wù)過(guò)運(yùn)行。
在一種可選的實(shí)施例中,確定多個(gè)任務(wù)中每個(gè)任務(wù)的每一次執(zhí)行是否欠運(yùn)行或者過(guò)運(yùn)行,包括:
步驟s302,在當(dāng)前執(zhí)行的前一次執(zhí)行結(jié)束時(shí)啟動(dòng)第一定時(shí)器和第二定時(shí)器,其中,第一定時(shí)器的第一定時(shí)時(shí)長(zhǎng)大于第二定時(shí)器的第二定時(shí)時(shí)長(zhǎng)。
步驟s304,在第一定時(shí)器達(dá)到第一定時(shí)時(shí)長(zhǎng)時(shí),記錄第一標(biāo)識(shí),在第二定時(shí)器達(dá)到第二定時(shí)時(shí)長(zhǎng)時(shí),記錄第二標(biāo)識(shí)。
步驟s306,在當(dāng)前執(zhí)行結(jié)束時(shí),確定當(dāng)前執(zhí)行的標(biāo)識(shí)記錄情況,若第一標(biāo)識(shí)已記錄,第二標(biāo)識(shí)未記錄,則確定當(dāng)前執(zhí)行正常,若第一標(biāo)識(shí)和第二標(biāo)識(shí)均已記錄,則確定當(dāng)前執(zhí)行為過(guò)運(yùn)行,若第一標(biāo)識(shí)未記錄,則確定當(dāng)前執(zhí)行為欠運(yùn)行。
具體的,為了實(shí)現(xiàn)對(duì)多個(gè)任務(wù)中每個(gè)任務(wù)的每一次執(zhí)行是否欠運(yùn)行或者過(guò)運(yùn)行進(jìn)行監(jiān)控,可以采用軟定時(shí)器的方式,設(shè)置兩個(gè)定時(shí)器,兩個(gè)定時(shí)器在任務(wù)的每次執(zhí)行結(jié)束時(shí)開(kāi)始啟動(dòng),并且在各自的定時(shí)時(shí)長(zhǎng)達(dá)到時(shí)停止,并且在停止時(shí)設(shè)置一個(gè)標(biāo)識(shí),在下一次執(zhí)行結(jié)束時(shí)進(jìn)行檢查,如果該下一次執(zhí)行結(jié)束在兩個(gè)標(biāo)識(shí)之間,則說(shuō)明該下一次執(zhí)行正常,如果該下一次執(zhí)行結(jié)束在第一個(gè)標(biāo)識(shí)設(shè)置之前,則說(shuō)明該下一次執(zhí)行欠運(yùn)行,如果該下一次運(yùn)行結(jié)束在第二個(gè)標(biāo)識(shí)設(shè)置之后,則說(shuō)明該下一次執(zhí)行過(guò)運(yùn)行。
在一種可選的實(shí)施例中,隔離空間包括如下至少之一:靜態(tài)變量、數(shù)組和設(shè)備寄存器。
在一種可選的實(shí)施例中,多個(gè)任務(wù)在safertos操作系統(tǒng)上運(yùn)行,其中,至少配置一個(gè)共享內(nèi)存以及為多個(gè)任務(wù)中每個(gè)任務(wù)配置對(duì)應(yīng)的隔離空間還包括:配置操作系統(tǒng)的棧和代碼以及多個(gè)任務(wù)的棧和代碼。
具體的,safertos是一種實(shí)時(shí)操作系統(tǒng),支持搶占式和合作式的任務(wù)切換模式,代碼精簡(jiǎn)。
作為一種可選的實(shí)施例,如圖2所示,操作系統(tǒng)上運(yùn)行有安全任務(wù)t1、安全任務(wù)t2和非安全任務(wù)t3,其中操作系統(tǒng)為safertos上,除此之外還包括硬件抽象層以及微控制器,其中微控制器可以為高性能的rm57l843,safertos運(yùn)行可以運(yùn)行在ti(texasinstruments)公司推出的安全cpu上,safertos本身也屬于安全的范疇,功能安全要求非安全任務(wù)的異常不能影響安全任務(wù)也不能影響os本身,即需要對(duì)非安全任務(wù)進(jìn)行隔離。如圖3所示,可以配置16個(gè)區(qū)域,其中12個(gè)可配置的區(qū)域給任務(wù),剩余4個(gè)用于操作系統(tǒng)本身和任務(wù)的棧以及代碼,具體的,cpu上的存儲(chǔ)器(memory)空間包括:rom(只讀存儲(chǔ)器)、ram(隨時(shí)存取存儲(chǔ)器)和device(設(shè)備),其中,區(qū)域1、區(qū)域10、區(qū)域15和區(qū)域16用于操作系統(tǒng)和任務(wù)的棧以及代碼,區(qū)域2、區(qū)域3和區(qū)域14分別為可供安全任務(wù)t1、安全任務(wù)t2和非安全任務(wù)t3配置的自己能夠訪問(wèn)的靜態(tài)變量、數(shù)組和設(shè)備寄存器,區(qū)域4為共享內(nèi)存,此處需要說(shuō)明的是,圖3中雖然顯示的為安全任務(wù)t1和非安全任務(wù)t3共享,但實(shí)際上共享內(nèi)存可以由安全任務(wù)t1、安全任務(wù)t2和非安全任務(wù)t3中任意兩個(gè)或全部共享,在有通信需求的時(shí)候應(yīng)用該共享內(nèi)存。通過(guò)區(qū)域配置,可以實(shí)現(xiàn)任務(wù)之間的空間隔離以及通信需求。為了實(shí)現(xiàn)時(shí)間隔離,如圖4所示,可以設(shè)置兩個(gè)定時(shí)器,分別為tr1和tr2,以安全任務(wù)t1為例,在安全任務(wù)t1每一次執(zhí)行結(jié)束時(shí)啟動(dòng)tr1和tr2,其中tr1的定時(shí)時(shí)長(zhǎng)為17ms,tr2的定時(shí)時(shí)長(zhǎng)為22ms,在tr1啟動(dòng)17ms后設(shè)置第一標(biāo)識(shí),在tr2啟動(dòng)22ms后設(shè)置第二標(biāo)識(shí),并且將安全任務(wù)t1每一次執(zhí)行結(jié)束的時(shí)刻作為任務(wù)檢查點(diǎn)。如圖5所示,圖5上顯示的安全任務(wù)t1的第二次執(zhí)行結(jié)束后,第一標(biāo)識(shí)和第二標(biāo)識(shí)均已設(shè)置,因此可以判斷該次執(zhí)行為過(guò)運(yùn)行,如圖6所示,圖6上顯示的安全任務(wù)t1的第三次執(zhí)行結(jié)束后,第一標(biāo)識(shí)和第二標(biāo)識(shí)均未設(shè)置,因此可以判斷該次執(zhí)行為欠運(yùn)行。
實(shí)施例2
根據(jù)本發(fā)明實(shí)施例,提供了一種多任務(wù)隔離裝置的產(chǎn)品實(shí)施例,圖7是根據(jù)本發(fā)明實(shí)施例的多任務(wù)隔離裝置,如圖7所示,該裝置包括劃分模塊101和配置模塊103,其中,劃分模塊101,用于根據(jù)預(yù)設(shè)規(guī)則將多個(gè)任務(wù)進(jìn)行劃分,得到安全任務(wù)和非安全任務(wù);配置模塊103,用于至少配置一個(gè)共享內(nèi)存以及為多個(gè)任務(wù)中每個(gè)任務(wù)配置對(duì)應(yīng)的隔離空間,其中,共享內(nèi)存設(shè)置為用于安全任務(wù)和非安全任務(wù)之間的通信,隔離空間設(shè)置為僅限于隔離空間對(duì)應(yīng)的任務(wù)進(jìn)行訪問(wèn)。
在本發(fā)明實(shí)施例中,首先劃分模塊101根據(jù)預(yù)設(shè)規(guī)則將多個(gè)任務(wù)進(jìn)行劃分,得到安全任務(wù)和非安全任務(wù),然后配置模塊103至少配置一個(gè)共享內(nèi)存以及為多個(gè)任務(wù)中每個(gè)任務(wù)配置對(duì)應(yīng)的隔離空間,其中,共享內(nèi)存設(shè)置為用于安全任務(wù)和非安全任務(wù)之間的通信,隔離空間設(shè)置為僅限于隔離空間對(duì)應(yīng)的任務(wù)進(jìn)行訪問(wèn),達(dá)到了將多個(gè)任務(wù)互相隔離的目的,在將安全任務(wù)和非安全任務(wù)進(jìn)行空間隔離的同時(shí)還保證了任務(wù)之間的相互通信,從而實(shí)現(xiàn)了避免非安全任務(wù)對(duì)安全任務(wù)產(chǎn)生影響,簡(jiǎn)單易操作的技術(shù)效果,進(jìn)而解決了現(xiàn)有技術(shù)中多個(gè)任務(wù)同時(shí)運(yùn)行時(shí),非安全任務(wù)的異常會(huì)對(duì)安全任務(wù)產(chǎn)生影響的技術(shù)問(wèn)題。
此處需要說(shuō)明的是,上述劃分模塊101和配置模塊103,對(duì)應(yīng)于實(shí)施例1中的步驟s102至步驟s104,上述模塊與對(duì)應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場(chǎng)景相同,但不限于上述實(shí)施例1所公開(kāi)的內(nèi)容。需要說(shuō)明的是,上述模塊作為裝置的一部分可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行。
在一種可選的實(shí)施例中,如圖8所示,裝置還包括:確定模塊201,用于在配置模塊103至少配置一個(gè)共享內(nèi)存以及為多個(gè)任務(wù)中每個(gè)任務(wù)配置對(duì)應(yīng)的隔離空間之后,確定多個(gè)任務(wù)中每個(gè)任務(wù)的每一次執(zhí)行是否欠運(yùn)行或者過(guò)運(yùn)行。
此處需要說(shuō)明的是,上述確定模塊201對(duì)應(yīng)于實(shí)施例1中的步驟s202,上述模塊與對(duì)應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場(chǎng)景相同,但不限于上述實(shí)施例1所公開(kāi)的內(nèi)容。需要說(shuō)明的是,上述模塊作為裝置的一部分可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行。
在一種可選的實(shí)施例中,如圖9所示,確定模塊201包括啟動(dòng)模塊301、記錄模塊303和第一確定模塊305,其中,啟動(dòng)模塊301,用于在當(dāng)前執(zhí)行的前一次執(zhí)行結(jié)束時(shí)啟動(dòng)第一定時(shí)器和第二定時(shí)器,其中,第一定時(shí)器的第一定時(shí)時(shí)長(zhǎng)大于第二定時(shí)器的第二定時(shí)時(shí)長(zhǎng);記錄模塊303,用于在第一定時(shí)器達(dá)到第一定時(shí)時(shí)長(zhǎng)時(shí),記錄第一標(biāo)識(shí),在第二定時(shí)器達(dá)到第二定時(shí)時(shí)長(zhǎng)時(shí),記錄第二標(biāo)識(shí);第一確定模塊305,用于在當(dāng)前執(zhí)行結(jié)束時(shí),確定當(dāng)前執(zhí)行的標(biāo)識(shí)記錄情況,若第一標(biāo)識(shí)已記錄,第二標(biāo)識(shí)未記錄,則確定當(dāng)前執(zhí)行正常,若第一標(biāo)識(shí)和第二標(biāo)識(shí)均已記錄,則確定當(dāng)前執(zhí)行為過(guò)運(yùn)行,若第一標(biāo)識(shí)未記錄,則確定當(dāng)前執(zhí)行為欠運(yùn)行。
此處需要說(shuō)明的是,上述啟動(dòng)模塊301、記錄模塊303和第一確定模塊305對(duì)應(yīng)于實(shí)施例1中的步驟s302至步驟s306,上述模塊與對(duì)應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場(chǎng)景相同,但不限于上述實(shí)施例1所公開(kāi)的內(nèi)容。需要說(shuō)明的是,上述模塊作為裝置的一部分可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行。
在一種可選的實(shí)施例中,隔離空間包括如下至少之一:靜態(tài)變量、數(shù)組和設(shè)備寄存器。
在一種可選的實(shí)施例中,多個(gè)任務(wù)在safertos操作系統(tǒng)上運(yùn)行,其中,配置模塊包括:配置操作系統(tǒng)的棧和代碼以及多個(gè)任務(wù)的棧和代碼。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
在本發(fā)明的上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒(méi)有詳述的部分,可以參見(jiàn)其他實(shí)施例的相關(guān)描述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過(guò)其它的方式實(shí)現(xiàn)。其中,以上所描述的裝置實(shí)施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可為個(gè)人計(jì)算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤(pán)、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、移動(dòng)硬盤(pán)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。