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

一種嵌入式設(shè)備的Flash數(shù)據(jù)資源回收策略

2018-12-07 08:31:54,,,
關(guān)鍵詞:嵌入式資源設(shè)備

,,,

(許繼電氣技術(shù)中心,許昌 461000)

引 言

嵌入式設(shè)備對(duì)其本身的可靠性要求極高,由于一些不可預(yù)測(cè)的因素或者是沒有發(fā)現(xiàn)的潛在危險(xiǎn)導(dǎo)致Flash的垃圾資源回收不及時(shí),會(huì)出現(xiàn)文件操作耗時(shí)較長(zhǎng)等異常情況,會(huì)導(dǎo)致嵌入式設(shè)備產(chǎn)生不可預(yù)知的危險(xiǎn),在這種情況下很難保證設(shè)備的可靠性、安全性,甚至?xí)?duì)整個(gè)嵌入式系統(tǒng)造成嚴(yán)重的后果。

鑒于此,本文提出了一種Flash資源回收的策略:設(shè)備能夠在運(yùn)行過程中根據(jù)CPU負(fù)載情況和Flash的有效資源空間剩余情況,自動(dòng)調(diào)整后臺(tái)回收的頻率,能夠有效利用CPU的空閑時(shí)刻進(jìn)行垃圾回收,盡量避免異常情況的發(fā)生,但是如果一旦有異常情況發(fā)生,設(shè)備會(huì)將異常情況記錄并報(bào)警,幫助現(xiàn)場(chǎng)工作人員盡快定位并解決問題,避免問題擴(kuò)大而造成不可挽回的損失[1-3]。

1 時(shí)間窗口和時(shí)間粒度

本文提出一種嵌入式設(shè)備的Flash資源回收的策略,能夠通過實(shí)時(shí)檢測(cè)到的CPU負(fù)載率和Flash空間利用率(Flash已被占用空間與Flash總空間的百分比)來確定后臺(tái)資源回收的周期(即設(shè)備每次清理內(nèi)存的時(shí)間間隔),定時(shí)清理內(nèi)存。在具體介紹該方法之前,首先對(duì)本回收策略的時(shí)間粒度滑動(dòng)窗口和時(shí)間粒度進(jìn)行說明。

如圖1所示,嵌入式設(shè)備后臺(tái)資源回收的清理周期按照大小順序依次排列,形成時(shí)間粒度(資源回收周期)進(jìn)度條,圖1中數(shù)字的單位都是ms,進(jìn)度條上面每個(gè)具體的時(shí)間粒度的大小是由設(shè)備特性如CPU主頻、CPU負(fù)載、Flash空間大小、Flash空間利用率、系統(tǒng)的資源回收能力來決定的。

圖1 時(shí)間粒度滑動(dòng)窗口及時(shí)間粒度進(jìn)度條示意圖

基于大量具體工程應(yīng)用而得出的經(jīng)驗(yàn)公式表示為:

T=coefficient×

其中T表示清理周期,coefficient為與具體工程應(yīng)用有關(guān)的經(jīng)驗(yàn)系數(shù),free_block表示有效的Flash資源剩余量,complexity表示業(yè)務(wù)的系統(tǒng)復(fù)雜度,erase_speed表示塊擦除速度,gc_ability表示嵌入式系統(tǒng)本身的垃圾回收能力,fcpu表示使用CPU的主頻,need_space表示業(yè)務(wù)對(duì)Flash空間大小的要求。

如圖1所示,時(shí)間粒度滑動(dòng)窗口表示在當(dāng)前CPU負(fù)載率情況下,能夠選擇的資源回收周期的范圍,然后根據(jù)Flash空間利用率等因素,在時(shí)間粒度窗口的范圍內(nèi)確定具體的時(shí)間粒度值。資源回收時(shí)間粒度滑動(dòng)窗口是根據(jù)CPU的負(fù)載情況,實(shí)時(shí)地在時(shí)間粒度進(jìn)度條(如圖1所示)上滑動(dòng)[4]。

在CPU負(fù)載比較低的狀態(tài)下,資源回收時(shí)間粒度滑動(dòng)窗口向時(shí)間粒度進(jìn)度條的左側(cè)(時(shí)間粒度值小的一端)滑行。在CPU負(fù)載比較高的狀態(tài)下,資源回收時(shí)間粒度滑動(dòng)窗口向時(shí)間粒度進(jìn)度條的右側(cè)(時(shí)間粒度值小的一端)滑行。

Flash空間利用率的大小決定了時(shí)間粒度在資源回收時(shí)間粒度滑動(dòng)窗口上取值的位置。

在Flash空間利用率比較低的情況下,也就是Flash可用空間剩余比較充分的情況下,垃圾資源回收的需求不迫切,時(shí)間粒度就在資源回收時(shí)間粒度滑動(dòng)窗口偏右的位置取值,即時(shí)間粒度取得相對(duì)較大的值,垃圾資源回收頻率就變小。

在Flash空間利用率比較高的情況下,也就是Flash可用空間剩余比較少的情況下,垃圾資源回收的需求就變得很迫切,時(shí)間粒度就在資源回收時(shí)間粒度滑動(dòng)窗口偏左的位置取值,即時(shí)間粒度取得相對(duì)較小的值,垃圾資源回收頻率就變大[5]。

設(shè)備運(yùn)行期間,根據(jù)CPU負(fù)載率和Flash有效資源空間剩余程度自動(dòng)判斷垃圾資源回收的頻率,在不影響設(shè)備性能的情況下保證設(shè)備運(yùn)行的安全性和可靠性。

2 方 案

2.1 方案實(shí)現(xiàn)基本思路

本方案的實(shí)現(xiàn)需要兩個(gè)任務(wù)配合實(shí)現(xiàn):CPU負(fù)載監(jiān)視任務(wù)、資源回收檢測(cè)任務(wù),如圖2所示。

圖2 方案實(shí)現(xiàn)基本示意圖

CPU負(fù)載檢測(cè)任務(wù)負(fù)責(zé)實(shí)時(shí)檢測(cè)CPU使用情況(占有率)、完成對(duì)資源回收時(shí)間粒度滑動(dòng)窗口滑動(dòng)趨勢(shì)的判定和控制。資源回收檢測(cè)任務(wù)主要負(fù)責(zé)Flash資源回收的具體事務(wù),并且根據(jù)時(shí)間粒度判定模塊確定的具體時(shí)間粒度確認(rèn)回收資源的快慢[6]。

資源回收時(shí)間粒度是由CPU負(fù)載率和Flash空間利用率共同決定的,CPU負(fù)載率負(fù)責(zé)判定資源回收時(shí)間粒度窗口的滑動(dòng)趨勢(shì),F(xiàn)lash空間利用率負(fù)責(zé)確定在滑動(dòng)窗口上定位具體的時(shí)間粒度值[4]。

2.2 CPU負(fù)載檢測(cè)任務(wù)

CPU負(fù)載檢測(cè)任務(wù)負(fù)責(zé)實(shí)時(shí)檢測(cè)CPU的負(fù)載情況,并決定時(shí)間粒度滑動(dòng)窗口的滑動(dòng)方向和初度。當(dāng)CPU負(fù)載小的時(shí)候,時(shí)間粒度向時(shí)間力度條的左端滑動(dòng),減小后臺(tái)資源回收檢測(cè)任務(wù)的時(shí)間、增大回收粒度,這樣做是為了提高垃圾回收速度。當(dāng)CPU負(fù)載大的時(shí)候,時(shí)間粒度向時(shí)間力度條的右端滑動(dòng),增大后臺(tái)資源回收檢測(cè)任務(wù)的間隔時(shí)間、減小回收粒度,這樣做是為了降低垃圾回收速度,減輕CPU負(fù)載。

2.3 資源回收檢測(cè)任務(wù)

首先,資源回收是每個(gè)嵌入式文件系統(tǒng)自身應(yīng)該具備的功能。資源回收檢測(cè)任務(wù)實(shí)現(xiàn)了一個(gè)優(yōu)化使用資源回收的策略。任務(wù)初始化時(shí)需要定義垃圾回收時(shí)間粒度的默認(rèn)值,比如回收間隔時(shí)間(時(shí)間粒度)默認(rèn)值定義為400 ms,那么每隔400 ms就會(huì)進(jìn)行一次后臺(tái)的垃圾回收。其次,任務(wù)的每次循環(huán)都需要檢測(cè)有效資源剩余,根據(jù)Flash有效資源的剩余情況來確定資源回收時(shí)間粒度。在CPU負(fù)載檢測(cè)任務(wù)控制的時(shí)間粒度滑動(dòng)窗口上面確定具體的時(shí)間粒度,根據(jù)時(shí)間粒度調(diào)整下次后臺(tái)垃圾回收的時(shí)間。

3 實(shí) 現(xiàn)

3.1 時(shí)間粒度初始化

首先,設(shè)備需要實(shí)現(xiàn)時(shí)間粒度條和時(shí)間粒度滑動(dòng)窗口的初始化:時(shí)間進(jìn)度條上的時(shí)間粒度保證從小到大的趨勢(shì),具體的時(shí)間粒度值和相鄰值之間的跨度由用戶根據(jù)設(shè)備特性(CPU速率和基本負(fù)載、存儲(chǔ)空間大小等)來決定。時(shí)間粒度滑動(dòng)窗口根據(jù)CPU負(fù)載的變化在時(shí)間粒度條上滑動(dòng),該窗口的大小可以由用戶自定義,如圖1所示的示意圖,窗口的大小定義為7,即窗口每次包含7個(gè)時(shí)間粒度值。

3.2 CPU負(fù)載檢測(cè)任務(wù)

圖3 CPU負(fù)載檢測(cè)任務(wù)執(zhí)行流程圖

如圖3所示,在嵌入式設(shè)備上電之后,系統(tǒng)初始化階段,啟動(dòng)一個(gè)最低優(yōu)先級(jí)的任務(wù):CPU負(fù)載檢測(cè)任務(wù),該任務(wù)在初始化期間記錄一段變量遞增算法的時(shí)間間隔T1,由于初始化期間其他任務(wù)都沒有開始運(yùn)行,所以可以獲取一個(gè)比較精確的標(biāo)準(zhǔn)參照時(shí)間間隔[7]。

CPU負(fù)載檢測(cè)任務(wù)運(yùn)行期間,記錄同樣一段變量遞增算法(與CPU負(fù)載檢測(cè)任務(wù)初始化時(shí)的算法一樣)的時(shí)間間隔T2,由于CPU負(fù)載檢測(cè)任務(wù)的優(yōu)先級(jí)最低,所以嵌入式設(shè)備運(yùn)行期間,只要有其他任務(wù)運(yùn)行,該任務(wù)就會(huì)被打斷去執(zhí)行其他任務(wù),直到其他任務(wù)都執(zhí)行完畢并處于掛起狀態(tài),該任務(wù)才會(huì)被繼續(xù)執(zhí)行。所以CPU任務(wù)越多,執(zhí)行越頻繁,實(shí)際統(tǒng)計(jì)的時(shí)間間隔就越長(zhǎng)。將標(biāo)準(zhǔn)參照時(shí)間間隔T1和運(yùn)行時(shí)間間隔T2比較就能夠得到CPU的占有率,就能計(jì)算CPU的負(fù)載大小:

當(dāng)CPU負(fù)載減小的時(shí)候,說明空閑時(shí)間較多,有能力處理更多的任務(wù),這時(shí)時(shí)間粒度滑動(dòng)窗口向左端滑動(dòng),減小后臺(tái)資源回收檢測(cè)任務(wù)的時(shí)間粒度(間隔)、增大回收粒度,這樣做可以提高垃圾回收速度,同時(shí)也提高了CPU的利用率[8]。

當(dāng)CPU負(fù)載增大的時(shí)候,說明空閑時(shí)間減少,這時(shí)時(shí)間粒度滑動(dòng)窗口向右端滑動(dòng),增大后臺(tái)資源回收檢測(cè)任務(wù)的間隔時(shí)間、減小回收粒度,這樣做可以降低垃圾回收速度,減輕CPU負(fù)荷。

3.3 資源回收檢測(cè)任務(wù)

資源回收檢測(cè)任務(wù)最重要的功能就是根據(jù)策略判定資源回收的時(shí)間粒度,然后調(diào)用系統(tǒng)本身的資源回收功能進(jìn)行Flash垃圾資源的回收。該任務(wù)初始化時(shí)需要定義垃圾回收時(shí)間粒度的默認(rèn)值,比如回收間隔時(shí)間默認(rèn)值定義為400 ms,那么每隔400 ms就會(huì)進(jìn)行一次后臺(tái)的垃圾回收。

任務(wù)的每個(gè)循環(huán)都需要檢測(cè)有效資源的剩余情況、業(yè)務(wù)對(duì)資源的需求情況,由此在時(shí)間粒度滑動(dòng)窗口上面確定具體的時(shí)間粒度,任務(wù)根據(jù)時(shí)間粒度調(diào)整下次后臺(tái)垃圾回收的時(shí)間間隔。

按照?qǐng)D4的示例,舉個(gè)簡(jiǎn)單的例子(實(shí)際應(yīng)用中各門檻值都可以根據(jù)自身具體的業(yè)務(wù)更加細(xì)化)。

圖4 時(shí)間粒度滑動(dòng)窗在不同CPU負(fù)載下的位置示意圖

當(dāng)CPU占有率小于30%時(shí)候,此時(shí)負(fù)載比較低,時(shí)間粒度滑動(dòng)窗口向數(shù)值小的一端滑行,可以看到窗口的范圍是200~700 ms,共包括7個(gè)時(shí)間粒度值,具體選擇哪個(gè)粒度值就需要由剩余的有效Flash資源、業(yè)務(wù)需求決定。當(dāng)有效資源剩余量充足的時(shí)候,說明資源足夠,垃圾回收的需求不迫切,可以選擇700 ms的粒度。當(dāng)有效資源剩余量比較少的時(shí)候,垃圾回收的需求就比較迫切,可以選擇200 ms的粒度,加快垃圾回收。

當(dāng)CPU占有率在60%左右時(shí)CPU負(fù)載適中,時(shí)間粒度滑動(dòng)窗口向右端滑行,可以看到窗口的范圍是500~1 200 ms,共包括7個(gè)時(shí)間粒度值,具體選擇哪個(gè)粒度值由剩余的有效資源決定。當(dāng)有效資源剩余量比較多的時(shí)候,說明資源足夠,垃圾回收的需求不迫切,可以選擇1 200 ms的粒度。當(dāng)有效資源剩余量比較少的時(shí)候,垃圾回收的需求就比較迫切,可以選擇500 ms的粒度,加快垃圾回收。

當(dāng)CPU占有率大于90%時(shí)CPU負(fù)載很大,時(shí)間粒度滑動(dòng)窗口向數(shù)值大的一端滑行,可以看到窗口的范圍是1 000~2 200 ms,共包括7個(gè)時(shí)間粒度值,具體選擇哪個(gè)粒度值由剩余的有效資源決定。當(dāng)有效資源剩余量比較多的時(shí)候,說明資源足夠,垃圾回收的需求不迫切,可以選擇2 200 ms的粒度。當(dāng)有效資源剩余量比較少的時(shí)候,垃圾回收的需求就比較迫切,可以選擇1000 ms的粒度,加快垃圾回收。

一旦檢測(cè)到Flash剩余有效資源減少到需求門檻以下、CPU負(fù)載比較重、資源回收不及時(shí)的情況,任務(wù)觸發(fā)嵌入式裝置報(bào)警。

4 模擬測(cè)試

為了方便測(cè)試和說明問題,將資源回收時(shí)間粒度、Flash剩余空間、CPU負(fù)載組成三維坐標(biāo),模擬出示意圖說明CPU負(fù)載、Flash剩余空間和回收時(shí)間粒度的變化趨勢(shì)之間的關(guān)系。條件如下:

① 將時(shí)間粒度進(jìn)度條長(zhǎng)度限定為3 000 ms,即時(shí)間粒度只能在0~3 000 ms范圍內(nèi)選擇。

② 將時(shí)間粒度滑動(dòng)窗口長(zhǎng)度限定為500 ms,滑動(dòng)窗口的滑動(dòng)粒度是25 ms,即CPU負(fù)載每變化1%,滑動(dòng)窗口就會(huì)滑動(dòng)25 ms的范圍。

③ 時(shí)間粒度最小選擇單位為5 ms,即Flash剩余空間每變化1%,時(shí)間粒度選擇就會(huì)有5 ms的改變。

基于上述條件,可以得出公式:

根據(jù)該公式可以得到三維仿真圖如圖5所示。

圖5 三維仿真圖

在時(shí)間粒度的三維分布入中,存在安全區(qū)域和報(bào)警區(qū)域:在安全區(qū)域以內(nèi)說明Flash剩余有效空間充足,或者是CPU對(duì)垃圾資源的回收速度大于Flash剩余空間的使用速度;當(dāng)Flash剩余空間不充足并且CPU回收粒度跟不上Flash空間使用速度的時(shí)候,就會(huì)觸發(fā)報(bào)警,警告設(shè)備可能會(huì)存在異常情況。

結(jié) 語

猜你喜歡
嵌入式資源設(shè)備
諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
基礎(chǔ)教育資源展示
一樣的資源,不一樣的收獲
資源回收
基于MPU6050簡(jiǎn)單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
搭建基于Qt的嵌入式開發(fā)平臺(tái)
資源再生 歡迎訂閱
資源再生(2017年3期)2017-06-01 12:20:59
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
500kV輸變電設(shè)備運(yùn)行維護(hù)探討
原來他們都是可穿戴設(shè)備
主站蜘蛛池模板: 欧美综合中文字幕久久| 美女无遮挡拍拍拍免费视频| 丝袜无码一区二区三区| 国产丰满成熟女性性满足视频| 欧美在线网| 国产簧片免费在线播放| 亚洲日韩在线满18点击进入| 亚洲无码91视频| 久久精品嫩草研究院| 免费国产不卡午夜福在线观看| 不卡无码网| 久久久成年黄色视频| 美女扒开下面流白浆在线试听| 重口调教一区二区视频| 亚洲人成高清| 狠狠色狠狠综合久久| 91国内在线观看| 毛片免费在线视频| 久久综合伊人77777| AV天堂资源福利在线观看| 无码AV日韩一二三区| 91精品国产自产91精品资源| 成年人午夜免费视频| 在线视频亚洲欧美| 天天综合网站| 亚洲国产日韩欧美在线| 亚洲清纯自偷自拍另类专区| 国产69精品久久久久孕妇大杂乱 | 日韩色图在线观看| 天堂在线www网亚洲| 尤物亚洲最大AV无码网站| 波多野结衣在线se| 在线国产欧美| 国产福利小视频高清在线观看| 亚洲AV电影不卡在线观看| 永久免费精品视频| 毛片国产精品完整版| 日本少妇又色又爽又高潮| 少妇露出福利视频| a级毛片免费播放| 国产欧美日韩另类精彩视频| 国产一级毛片在线| 99精品这里只有精品高清视频| 国产在线视频二区| 中文字幕无码制服中字| 久久 午夜福利 张柏芝| 亚洲第一福利视频导航| 67194在线午夜亚洲 | 亚洲国产精品无码AV| 91视频区| 午夜视频在线观看区二区| 国产无码网站在线观看| 999精品免费视频| 在线精品视频成人网| 国产成人无码久久久久毛片| 丝袜高跟美脚国产1区| 国产福利一区视频| 欧美成人午夜影院| 国产乱人乱偷精品视频a人人澡 | 免费高清a毛片| 色视频久久| 狠狠五月天中文字幕| 久久精品亚洲专区| 亚洲aⅴ天堂| 国产精品视频猛进猛出| 色综合手机在线| 亚洲国产欧美国产综合久久| 2021精品国产自在现线看| 欧美另类精品一区二区三区| 国产内射一区亚洲| 日本道综合一本久久久88| 97se亚洲综合不卡| 特级精品毛片免费观看| 久热中文字幕在线观看| 真实国产乱子伦高清| 九九热视频精品在线| 午夜日b视频| 亚洲第一成网站| 国产精品污污在线观看网站| 99热6这里只有精品| 欧美激情第一欧美在线| 国产情侣一区二区三区|