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

基于記錄重播的嵌入式系統死鎖檢測方法

2018-01-09 13:01:23席衛華
軟件導刊 2017年12期

席衛華

摘要:針對嵌入式系統死鎖缺陷問題,提出了一種基于Lamport clock插樁記錄的嵌入式系統死鎖檢測方法——LPM(Lamport clock Pile Record Deadlock Detection Method)。首先利用Lamport clock對嵌入式程序線程關系、資源依賴關系進行記錄,然后離線提取日志記錄信息,獲取資源圖并進行死鎖檢測。仿真實驗表明,與經典的插樁機制相比,該方法可有效降低插樁開銷并能準確檢測出死鎖。

關鍵詞:嵌入式系統;LPM;Lamport clock;插樁;死鎖檢測

DOIDOI:10.11907/rjdk.172076

中圖分類號:TP306

文獻標識碼:A 文章編號:1672-7800(2017)012-0022-04

Abstract:Aiming at the problem that the deadlock of the embedded system is more difficult than the usual computer software, a deadlock detection method based on Clock Lamport interpolation is presented in this paper—LPM(Lamport clock Pile Record Deadlock Detection Method). In this method, the Lamport clock is used to record the relationship between the thread and the resource dependence. Then the log information is extracted, the resource map is obtained and the deadlock detection is carried out. Experimental simulation results have shown that this method can effectively reduce the overhead of the pile, and can detect the deadlock accurately.

Key Words:embedded system; LPM; lamport clock; pile record; deadlock detection

0 引言

隨著嵌入式系統性能要求的提高,并發多線程程序設計在嵌入式系統中的應用越來越廣泛。嵌入式系統特點是體積小、資源和計算能力有限、程序的執行依賴外部輸入。因此,嵌入式軟件的并發缺陷比通常的計算機軟件更加棘手。死鎖是并發缺陷的典型問題,有時會導致整個嵌入式系統陷入癱瘓,嚴重影響嵌入式系統的穩定性、可靠性[1]。由于死鎖難以再現和修正,如何有效檢測死鎖成為嵌入式軟件領域的研究重點。

目前死鎖的檢測方法主要有靜態檢測和動態檢測。靜態檢測原理是通過分析源代碼進行抽象,構建出狀態模型,進而發現潛在的死鎖。文獻[2,3]設計了基于數據流分析源代碼的框架,該框架根據函數、指針等參數構建資源圖,并利用環檢測等算法檢測出死鎖。文獻[4]通過對程序的預處理獲取中間代碼、函數依賴關系和控制流圖等,進而得到線程之間的函數調用圖,并利用Petri[5]網模型進行死鎖檢測。動態檢測原理是通過對運行時的程序插入探針代碼,從而獲得程序的運行狀態和數據信息實現死鎖檢測,它避免了抽象模型和可執行程序之間不一致問題[6]。動態檢測典型工具有Intel Pin[7]和FastTrack[8]。Pin是Intel公司推出的一款動態二進制分析框架,利用Pin提供的API,在可執行二進制代碼中插入探測函數從而獲取程序運行時的數據和狀態變量等。FastTrack基于文獻[9,10]提出的DJIT+探測機制進行改進,用輕量級的自適應VCs[11](Vector Clocks)代替原本繁重的VCs,使其在確保探測精度的情況下減少探針開銷。

雖然上述方法在一定程度上實現了死鎖檢測,但還存在不足:

(1)嵌入式軟件的靜態死鎖檢測一般采用保守方法進行變量值估計,需要在電腦端對源碼進行分析,而嵌入式軟件依賴外部輸入,具有突發性和實時性,因此檢測結果誤報率較高,且缺乏精確的運行信息。

(2)較大的性能開銷是所有動態死鎖檢測工具共同面臨的問題,特別是對于嵌入式系統而言,其程序的執行、線程的開創等都依賴于外部輸入,而外部輸入又是實時突發的,所以嵌入式軟件對探針效應[12]的敏感度要遠高于桌面軟件。

本文提出一種基于插樁記錄的嵌入式系統死鎖檢測方法。該方法分為兩個階段:①對嵌入式程序線程關系、資源依賴關系的記錄階段;②對記錄日志信息提取,獲取資源圖并進行檢測的死鎖檢測階段。相比于靜態檢測方法,基于插樁記錄的嵌入式系統死鎖檢測機制能提供更準確的運行信息,對潛在的死鎖進行更準確的檢測。相對于傳統的動態檢測機制,該方法能有效減小插樁開銷。

1 嵌入式死鎖檢測機制

基于插樁的程序都是在插樁引擎上加入自定義的程序分析工具,這類工具往往會對被測程序產生影響。由于這類工具結構原理大同小異,因此,下面以典型的Intel Pin插樁工具(以下簡稱Pin)為例進行分析。

在利用Pin插樁工具進行程序分析時,被測程序和分析程序是交叉運行的,當程序運行到插樁點時,程序會產生中斷,保存現場,然后根據采集到的數據執行分析程序。執行完分析程序后,恢復現場并繼續執行被測程序。如圖1所示,可以很明顯地看出,Pin工具的性能開銷很大一部分來源于被測程序到分析程序之間的切換和分析程序的執行。

主站蜘蛛池模板: 亚洲va欧美va国产综合下载| 亚洲一区二区三区在线视频| 国产99视频精品免费视频7 | 亚洲欧美极品| 亚洲欧洲自拍拍偷午夜色| 亚洲色图在线观看| 久久99国产综合精品1| 丝袜亚洲综合| 久久这里只精品国产99热8| 国产第一页免费浮力影院| 欧洲成人在线观看| 黄色网在线| 国内嫩模私拍精品视频| 大学生久久香蕉国产线观看| 波多野结衣在线一区二区| 四虎在线观看视频高清无码| 欧美自慰一级看片免费| 国产精品天干天干在线观看| 日韩国产 在线| 国产黑丝一区| 久久动漫精品| 1769国产精品免费视频| 久久精品电影| 热九九精品| 国产a网站| 国产在线一区视频| 无码精油按摩潮喷在线播放| 午夜国产大片免费观看| 欧美日韩综合网| av色爱 天堂网| 色亚洲成人| 欧美在线视频不卡| 日韩AV无码免费一二三区| 亚洲一级毛片免费观看| 岛国精品一区免费视频在线观看| 色135综合网| 国产成人综合网| 亚洲国产成人久久精品软件| 欧洲亚洲欧美国产日本高清| 一级做a爰片久久免费| 国产制服丝袜无码视频| 欧美另类一区| 国产成人免费| 欧美中文字幕无线码视频| 午夜无码一区二区三区在线app| 亚洲一区二区成人| 青青草国产免费国产| 久久国产黑丝袜视频| a级毛片免费看| 国产哺乳奶水91在线播放| 国产主播在线观看| 亚洲天堂777| 在线免费不卡视频| 国产亚洲欧美在线中文bt天堂| 无码在线激情片| 国产日产欧美精品| 精品国产毛片| 99热这里只有成人精品国产| 高清精品美女在线播放| 综合网久久| 亚洲欧美不卡中文字幕| 亚洲性视频网站| 中文字幕乱码中文乱码51精品| 国产一区二区网站| 欧美国产综合视频| 久草网视频在线| 97se亚洲综合在线天天| 亚洲男人在线| 欧美日韩另类国产| 国产产在线精品亚洲aavv| vvvv98国产成人综合青青| 中文无码精品A∨在线观看不卡| 久久亚洲国产一区二区| 免费人成在线观看成人片| 亚洲免费毛片| 亚洲黄色高清| 中日韩一区二区三区中文免费视频 | 国产91色| 波多野结衣视频网站| 亚洲天堂精品在线观看| 日韩最新中文字幕| 亚洲欧洲日韩久久狠狠爱|