《嵌入式實時操作系統(tǒng)測試理論和方法》以理論為指導,提出了操作系統(tǒng)測試需要解決的問題,證明了基于有限狀態(tài)機測試策略的正確性,使用動態(tài)代碼走查方法提高代碼走查的效率和效果,使用地址監(jiān)控方法解決臨界保護正確性測試問題。每種測試方法都以理論為指導,測試充分性得到有效保證。《嵌入式實時操作系統(tǒng)測試理論和方法》適合于從事嵌入式操作系統(tǒng)設計和測試的科研人員參考和使用。
《嵌入式實時操作系統(tǒng)測試理論和方法》編輯推薦:嵌入式實時操作系統(tǒng)在通信、醫(yī)療、核電站控制等領域的廣泛應用,使人們越來越關注嵌入式實時操作系統(tǒng)的安全性。目前,系統(tǒng)介紹高安全嵌入式實時操作系統(tǒng)測試理論和方法的文獻還比較少,《嵌入式實時操作系統(tǒng)測試理論和方法》介紹了關于高安全嵌人式實時操作系統(tǒng)的測試理論和方法。
第1部分嵌入式實時操作系統(tǒng)的基本原理
第1章嵌入式實時操作系統(tǒng)概述
1.1操作系統(tǒng)概述
1.1.1操作系統(tǒng)作用
1.1.2操作系統(tǒng)發(fā)展簡史
1.2嵌入式實時操作系統(tǒng)
1.2.1嵌入式實時操作系統(tǒng)的特點
1.2.2嵌入式實時操作系統(tǒng)實例
1.3本章小結
第2章RTEMS嵌入式實時操作系統(tǒng)
2.1RTEMS概述
2.2RTEMS超級內核
2.2.1對象
2.2.2任務隊列
2.3RTEMS功能組件
2.3.1任務組件
2.3.2中斷組件
2.3.3時鐘組件
2.3.4定時器組件
2.3.5進程間通信組件
2.3.6存儲管理組件
2.4調度策略
2.4.1調度策略控制
2.4.2任務狀態(tài)轉換
2.5本章小結
第2部分嵌入式實時操作系統(tǒng)測試的理論和方法
第3章問題和策略
3.1軟件測試概述
3.1.1軟件測試過程
3.1.2軟件測試類型
3.2操作系統(tǒng)測試特殊性
3.2.1三角形判定問題描述
3.2.2三角形判定程序實現(xiàn)
3.2.3三角形判定程序測試
3.2.4操作系統(tǒng)測試的特殊性
3.3操作系統(tǒng)測試問題描述
3.3.1ψprg的特點
3.3.2ψprg的分類
3.3.3問題描述
3.3.4基于獨立系統(tǒng)調用的測試方法的不足
3.4基于資源管理視點的測試策略
3.4.1資源的表示方法
3.4.2資源表示的本質
3.4.3問題重新描述
3.4.4基路徑測試
3.5信號量測試案例
3.5.1常規(guī)測試法
3.5.2基于有限狀態(tài)機的測試法
3.5.3正確性證明
3.6其他考慮
3.7本章小結
第4章動態(tài)代碼走查方法
4.1代碼走查定義
4.2基于軟件動態(tài)執(zhí)行的代碼走查方法DCW
4.2.1軟件移植
4.2.2代碼走查
4.3RTEMS超級內核代碼走查
4.3.1Score移植
4.3.2Score代碼走查
4.4本章小結
第5章臨界保護正確性測試
5.1問題描述
5.2基于地址監(jiān)控的臨界保護正確性測試
5.2.1RTEMS臨界保護特點
5.2.2地址監(jiān)控的臨界區(qū)保護正確性測試
5.2.3正確性證明
5.2.4SVAM方法優(yōu)化
5.2.5Bochs實現(xiàn)SVAM
5.2.6實際操作
5.3本章小結
第6章基于有限狀態(tài)機的API測試
6.1方法概述
6.2RTEMS有限狀態(tài)機
6.2.1固定大小存儲管理有限狀態(tài)機
6.2.2可變大小存儲管理有限狀態(tài)機
6.2.3事件通信有限狀態(tài)機
6.2.4消息隊列有限狀態(tài)機
6.2.5信號量有限狀態(tài)機
6.2.6異步信號有限狀態(tài)機
6.2.7BARRIER通信有限狀態(tài)機
6.2.8任務管理有限狀態(tài)機
6.3狀態(tài)樹
6.3.1分區(qū)狀態(tài)樹
6.3.2堆狀態(tài)樹
6.3.3事件狀態(tài)樹
6.3.4消息隊列狀態(tài)樹
6.3.5信號量狀態(tài)樹
6.3.6異步信號狀態(tài)樹
6.3.7BARRIER狀態(tài)樹
6.3.8任務管理狀態(tài)樹
6.4測試用例設計
6.5本章小結
第3部分嵌入式實時操作系統(tǒng)測試方法的具體實現(xiàn)
第7章構建測試環(huán)境
7.1安裝VMware虛擬機
7.2安裝Linux操作系統(tǒng)
7.3安裝RTEMS交叉編譯環(huán)境
7.4編譯RTEMS操作系統(tǒng)
7.5本章小結
第8章測試程序設計
8.1測試程序架構
8.2RMMT詳細設計
8.2.1分區(qū)創(chuàng)建測試
8.2.2分區(qū)刪除測試
8.2.3獲取分區(qū)ID測試
8.2.4分區(qū)申請緩沖測試
8.2.5分區(qū)釋放緩沖測試
8.2.6狀態(tài)轉換測試
8.2.7程序文件結構和編譯指令
8.3分區(qū)測試運行效果
8.4本章小結
第9章測試結果分析
9.1測試結果統(tǒng)計
9.2典型問題分析
9.2.1自動釋放BARRIER任務問題
9.2.2任務在休眠狀態(tài)下掛起問題
9.2.3雙口地址映射錯誤問題
9.2.4堆擴展后及時分配問題
9.2.5優(yōu)先級變化后堆及時分配問題
9.3復雜度的搶占式資源隊列調度
9.3.1問題提出
9.3.2搶占式資源調度
9.3.3具體實現(xiàn)
9.4本章小結
第10章有限狀態(tài)機測試程序源代碼
10.1堆存儲有限狀態(tài)機測試
10.2信號量有限狀態(tài)機測試
參考文獻
版權頁:
插圖:
5.2基于地址監(jiān)控的臨界保護正確性測試
上面介紹了進程的競爭條件和臨界區(qū)的概念,為了避免競爭條件的出現(xiàn),操作系統(tǒng)內核的設計必須考慮如何確保共享數(shù)據(jù)不被交錯執(zhí)行的控制路徑破壞其一致性。而操作系統(tǒng)測試的一個重點是驗證臨界保護設計和實現(xiàn)的正確性。
5.2.1RTEMS臨界保護特點
RTEMS操作系統(tǒng)實現(xiàn)了對臨界區(qū)的保護,RTEMS臨界區(qū)保護具有如下特點:
內核進程的非搶占性。對于非搶占性的操作系統(tǒng)而言,以下斷言總是成立:(1)運行的進程不會被其他進程取代。(2)異常處理可以中斷在內核態(tài)中運行的進程。但是,在中斷處理程序結束時,該進程的執(zhí)行路徑被恢復。(3)異常處理的內核執(zhí)行路徑只能被執(zhí)行中斷或異常處理的其他內核執(zhí)行路徑所中斷。由以上斷言可以知道,對于系統(tǒng)調用啟用的其他控制路徑來說,處理非阻塞的系統(tǒng)調用的內核控制路徑是原子的,這簡化了很多內核函數(shù)的實現(xiàn):不是由中斷或異常處理程序更新的內核數(shù)據(jù)結構都可以安全地被訪問。
臨界區(qū)保護通過關中斷實現(xiàn)。關中斷是用來確保內核語句序列可以作為一個臨界區(qū)進行操作的一種機制。即使硬件設備發(fā)出IRQ信號時,關中斷也允許內核控制路徑繼續(xù)執(zhí)行,這樣就提供了一種有效的方法,來保護中斷處理程序也會訪問的數(shù)據(jù)結構。
5.2.2地址監(jiān)控的臨界區(qū)保護正確性測試
由于所討論的操作系統(tǒng)具有非搶占性的特點,所以對共享變量的競爭條件出現(xiàn)在中斷打斷任務或中斷嵌套的情況下。對一個共享變量的寫操作必須關閉中斷,操作完畢之后,再打開中斷。為了驗證對每一次共享變量的寫操作,都關閉了中斷,本章提出基于地址監(jiān)控的臨界區(qū)保護正確性測試方法SVAM(Shared Varible Address Monitor)。