《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 國產化嵌入式實時操作系統軟件測試方法研究
國產化嵌入式實時操作系統軟件測試方法研究
2016年微型機與應用第24期
李建軍1,2
1. 中國電子科技集團公司第三十二研究所,上海 201808;2. 國家工程軟件產品質量監督檢驗中心,上海 201808
摘要: 隨著自主可控戰略的實施,國內多家基礎軟件廠商推出了相關的國產化嵌入式實時操作系統軟件,作為底層系統級軟件,目前業界普遍缺少相關的測試經驗和規范。分析并給出了國產化嵌入式實時操作系統測試內容、測試方法和測試技術等,為從事嵌入式實時操作系統測試驗證活動提供參考指南。
Abstract:
Key words :

  李建軍1,2

  (1. 中國電子科技集團公司第三十二研究所,上海 201808;2. 國家工程軟件產品質量監督檢驗中心,上海 201808) 

        摘要:隨著自主可控戰略的實施,國內多家基礎軟件廠商推出了相關的國產化嵌入式實時操作系統軟件,作為底層系統級軟件,目前業界普遍缺少相關的測試經驗和規范。分析并給出了國產化嵌入式實時操作系統測試內容、測試方法和測試技術等,為從事嵌入式實時操作系統測試驗證活動提供參考指南。

  關鍵詞:國產化;嵌入式實時操作系統;驗證與測試;測試規范

  中圖分類號:TP311.5文獻標識碼:ADOI: 10.19358/j.issn.16747720.2016.24.007

  引用格式:李建軍. 國產化嵌入式實時操作系統軟件測試方法研究[J].微型機與應用,2016,35(24):22-24,29.

0引言

  嵌入式系統已經在眾多行業和領域獲得了廣泛且成功的應用,比如機載航空、軌道交通、工業控制等方面。就嵌入式應用開發來看,目前絕大部分功能較復雜的嵌入式系統都基于嵌入式實時操作系統進行開發,一方面可以使嵌入式應用軟件開發人員避開繁瑣的硬件管理, 而把主要精力放在目標應用的算法研究以及應用程序自身的構架上,另一方面應用實時操作系統提供的各種服務 , 可以更容易地構建出復雜的嵌入式實時應用系統,并且在軟件重用性和開放性方面實時操作系統也起到了非常重要的作用。國產化嵌入式實時操作系統基礎軟件是我國自主信息化能力和水平的重要體現,更是保障我國信息安全的重要組成部分,因此研究其軟件測試方法和技術具有重要的意義,國內外研究人員已經對嵌入式實時操作系統的測試進行了一定研究[13],但目前還未形成系統成熟的測試方法。本文主要針對國產化嵌入式實時操作系統的測試內容和測試方法進行研究。

1RTOS測試內容

  國產化嵌入式實時操作系統的測試主要指基本功能組件[4]測試,包括進程管理、異常/中斷管理、時鐘/定時器管理、信號量管理、文件系統、I/O管理、標準符合性、網絡協議棧等方面的測試。涉及的測試類型包括:文檔審查、代碼審查、功能測試、性能測試、接口測試、余量測試、邊界測試、人機交互界面測試、強度測試、安全性測試、恢復性測試、標準符合性測試、安裝性測試等。

2RTOS組件測試

  2.1進程管理

  系統的分配和運行都是以進程為基本單位的,因而對系統的管理可歸結為對進程的管理。關于進程管理的測試,主要包括進程的創建終止、阻塞喚醒、掛起激活、同步通信、調度機制幾個方面,具體為:

  (1)支持進程的創建:支持進程的創建,并包括申請進程控制塊、為進程分配資源、將進程導入相關就緒隊列等一系列功能。

  (2)支持進程的終止:支持響應進程正常結束或異常結束,終止進程,以及釋放進程所占有資源,將進程控制塊從隊列中移除等功能。

  (3)支持進程的阻塞和喚醒:準確響應進程阻塞和喚醒的相關條件,將進程排入阻塞和喚醒隊列中去。

  (4)支持進程的掛起和激活:準確響應進程的掛起和激活,并根據相關調度機制更改進程狀態。

  (5)支持進程的同步和通信:根據系統的需要設計合理的進程同步和通信機制。

  (6)支持進程的調度:支持調度管理功能,實現可搶占的優先級調度、同等優先級先進先出調度、同等優先級時間片輪轉調度算法、搶占調度控制、任務鎖定調度等功能。采用功能分解法,通過創建多個任務,并設置支持基于優先級搶占、同等優先級先進先出/時間片輪轉的任務調度方法,通過查看任務切換的日志記錄來驗證是否符合要求。

  2.2異常/中斷管理

  異常/中斷管理模塊的測試通過異常/中斷處理句柄的安裝來實現,包括不同級的中斷響應控制、當前系統的中斷信息管理以及及時響應外部產生的中斷幾個方面。測試時應覆蓋以下內容:

  (1)支持中斷任務的創建和刪除,通過創建、執行、刪除多個不同的中斷任務,利用獲取任務的屬性信息函數和相應的日志記錄來驗證操作是否正確。

  (2)支持異常發生時保存現場的異常框架,通過在不同任務中插入相應中斷異常,查看異常框架能否保護現場數據,進行異常處理,異常清除后,驗證任務能否從異常中恢復,繼續執行。

  (3)支持異常發生時系統輸出相應診斷數據,包括當前任務信息、內存數據、錯誤類型等,并執行系統默認的異常處理,可通過在不同的任務中插入相應中斷異常,查看異常發生時系統輸出的相應系統診斷數據,驗證能否進行系統默認的異常處理。

  (4)支持與體系結構相關聯的異常處理機制;支持體系結構相關的異常處理,如x86平臺上的除零異常和返回非法地址異常等,可通過在不同的任務中插入與體系架構相關的不同的中斷異常,查看異常發生時系統輸出的相應系統診斷信息,驗證能否進行系統默認的異常處理。

  (5)支持向用戶提供異常處理的掛接函數,對于無法滿足用戶需求的系統默認處理,用戶可以修改異常處理函數,通過在不同的任務中插入不同的中斷異常,查看異常發生時系統輸出的相應系統診斷信息和系統默認的異常處理,然后通過掛接函數修改異常處理函數,重復執行一次,驗證能否進行用戶自定義的異常處理。

  2.3時鐘/定時器管理

  時鐘/定時器管理模塊的測試可以通過系統時鐘的管理來實現,包括定時器功能、單調速率周期的計時方式及顯示指定定時器的信息等方面。測試時應覆蓋以下內容:

  (1)實現微秒級高精度時鐘,單調速率定時器,并支持絕對時間計時和相對時間計時。

  (2)支持時鐘管理,實現基本定時功能,基本粒度范圍,可通過在程序代碼中插樁,顯示系統啟動定時任務時和系統觸發定時任務時的時間戳,來驗證系統的基本定時功能和基本粒度范圍;顯示系統時間片輪轉調度時刻的時間戳,來驗證系統為輪轉調度提供的時間片,并實現定時觸發功能。

  (3)支持維護系統流逝時間和實時時鐘: 支持維護系統流逝時間,包括系統啟動后的真實時間、邏輯時間等,可通過在程序代碼中插樁,顯示當前系統啟動后的真實時間和邏輯時間的時間戳,以驗證系統支持維護流逝時鐘。

  (4)支持定時器的創建、初始化、刪除、取消、啟動等基本操作。

  (5)實現為輪轉調度提供時間片,并用于信號量、事件、消息隊列、信號等操作的定時觸發管理。

  2.4內存管理

  內存用于保存進程運行時的程序和數據,測試時應驗證通過核心工作區和用戶工作區控制任務對硬件內存資源的訪問,提供內存的分配及釋放功能、系統內存信息顯示功能等。測試時應覆蓋以下內容:

  (1)支持核心工作區和用戶工作區的系統動態內存管理,可通過在程序代碼中插樁,在內存的核心工作區和用戶工作區分別進行內存管理等基本操作,來驗證系統支持核心工作區和用戶工作區的系統動態內存管理。

  (2)支持在核心工作區內分配核心對象控制塊、分配任務棧、分配消息隊列緩存區等功能,可通過在內存的核心工作區分配核心對象控制塊、分配任務棧、分配消息隊列緩存區等,從而驗證系統支持在核心工作區內分配核心對象控制塊、分配任務棧、分配消息隊列緩存區等功能。

  (3)通過調用顯示系統中內存總數、已使用數以及空閑內存數等信息,來驗證系統支持內存信息顯示功能。

  (4)進行內存分配、內存釋放、內存重新分配以及分配內存對齊等操作,驗證內存管理基本功能。

  (5)支持硬件MMU,實現虛擬內存與實際內存的一一映射。

  2.5信號量管理

  信號量作為用戶進程之間進行通信同步的原始機制,該模塊可以通過不同種類的信號量通信方式進行測試,包括二進制信號量、計數信號量和互斥信號量,實現多任務間的同步、臨界資源的互斥訪問以及共享資源的有效訪問。

  測試時應覆蓋以下內容:

  (1)支持互斥信號量、二進制信號量、計數信號量,實現多任務間的同步,臨界資源的互斥訪問以及共享資源的有效訪問: 二進制信號量只允許一次獲取和釋放;計數器信號量則允許多次獲取或釋放,獲取/釋放的最大次數在信號量創建時設置;互斥信號量是特殊的二進制信號量,支持所有權、遞歸訪問、任務刪除安全,可通過執行符合POSIX 1003.13-2003標準的信號量管理模塊的接口函數調用,由此驗證操作系統信號量管理相關接口的符合性和正確性。

  (2)支持互斥信號量采用優先級繼承或優先級天花板方式防止優先級逆轉,在使用優先級天花板協議時,可指定所有使用此信號量的任務的最高優先級以及優先級范圍。

  (3)通過在不同類型的不同任務的程序代碼中插樁,顯示信號量擁有者、空閑信號量、已用信號量等信息,從而驗證系統支持信號量信息顯示。

  (4)支持獲取信號量、釋放信號量、刪除信號量等功能。

  2.6文件系統

  文件系統用于組織和管理計算機中所存儲的大量的程序和數據。測試文件系統模塊包括對文件的管理以及實現對文件及目錄的常見操作,包括創建、打開、關閉、讀寫文件和注冊文件系統等幾個方面[5]。

  測試時應覆蓋以下內容:

  (1)支持根文件系統,能夠對硬盤等塊設備實現掛接/卸載多種文件系統(FAT\\NTFS\\EXT2\\EXT3\\VFAT等)。

  (2)支持文件系統訪問塊設備操作表,能使用主設備號訪問設備表的信息,可通過執行掛接/卸載操作,驗證其是否提供具體文件系統的掛接/卸載函數,能夠對硬盤等塊設備進行文件系統的掛接。

  (3)支持文件句柄操作控制表維護文件的操作,包括目錄、設備、內存文件等,可通過執行程序來驗證文件系統訪問塊設備操作表,使用主設備號訪問設備表的信息。

  (4)支持顯示當前已注冊文件系統的設備節點及安裝點信息,通過在程序中調用文件系統信息訪問函數。

  (5)通過在程序中調用文件格式化操作相關接口函數,以指定的文件系統類型格式化設備,驗證文件系統格式化功能的正確性。

  (6)通過在程序中調用文件操作相關接口進行目錄、設備、內存文件的創建、讀寫、刪除、關閉操作,驗證根文件系統功能的正確性。

  (7)支持多分區,在單個分區下可創建多層目錄結構,可以創建任意數量的文件直至剩余內存空間不足。

  (8)支持對塊設備進行格式化,對系統數據的完整性進行檢測。

  (9)支持VFAT長文件名。

  (10)支持FAT12、FAT16、FAT32文件分配表類型,可通過設置FAT12、FAT16、FAT32文件分配表類型,驗證對文件分配表類型支持功能的正確性。

  (11)通過在dosfs文件系統中調用文件操作相關接口進行目錄、設備、內存文件的創建、讀寫、刪除、關閉操作,驗證dosfs文件系統實現塊設備的文件操作和目錄操作功能的正確性。

  (12)通過編程進行多任務讀寫操作,驗證系統對多任務讀寫功能的支持。

  (13)兼容廣泛使用的多種塊設備,如軟盤、硬盤、閃存等,通過在各種塊設備,如軟盤、硬盤、閃存等硬件上創建文件系統,驗證兼容多種塊設備功能的正確性。

  2.7基本I/O管理

  I/O控制模塊可以通過設備驅動表、設備表、文件描述符表、總線驅動支持、設備中斷處理機制對上層應用程序提供統一的接口,支持對硬件設備的統一訪問等[6]。

  測試時應覆蓋以下內容:

  (1)創建一個或多個任務,調用I/O接口函數(open、close、read、write等)實現掛接設備、打開設備、讀寫設備、關閉設備、控制設備等功能,驗證系統支持設備文件的統一操作。

  (2)通過創建一個或多個任務,調用文件接口函數(open、close、read、write等)實現打開文件、創建文件、文件位置指針操作、讀文件、寫文件、修改文件的屬性、獲取文件的信息、刪除文件、顯示文件、截取文件大小等功能,驗證系統支持普通文件的操作。

  (3)通過創建一個或多個任務,調用目錄接口函數(open、close、read、change等)實現創建目錄、讀目錄、關閉目錄、改變目錄路徑、打開目錄、刪除目錄、獲取當前目錄、移動目錄、重置目錄等功能,驗證系統支持目錄操作。

  (4)通過在系統初始化時實現三個基本的描述符:0(標準輸入,stdin),1(標準輸出,stdout),2(標準錯誤,stderr),以后打開的文件描述符從3開始,創建一個或多個任務,調用接口函數操作文件描述符,驗證系統支持基本描述符統一管理。

  (5)支持設置最大文件描述符,支持復制文件描述符,可通過創建一個或多個任務,調用接口函數設置文件描述符,來驗證系統支持任務設置0、1、2的局部文件描述符和全局文件描述符。

  (6)通過創建一個或多個任務,調用接口函數實現設備驅動注冊、卸載、顯示等操作,驗證系統支持設備驅動表操作。

  (7)支持設備驅動注冊、卸載、顯示,要求卸載的同時必須釋放所占用的全部資源及設備表維護系統掛接的所有設備,根據主次設備號訪問對應的設備驅動,可通過創建一個或多個任務,調用接口函數實現設備驅動卸載操作,并查看所有占用資源的釋放情況,從而驗證系統能否在設備驅動卸載的同時釋放所占用的全部資源。

  (8)支持顯示當前設備表中已注冊的設備信息,支持動態安裝/卸載設備,可通過創建一個或多個任務,調用接口函數顯示當前設備表中已注冊的設備信息,驗證系統支持顯示當前設備表中已注冊的設備信息。

  (9)支持字符設備的輸入/輸出緩存管理,對于終端輸入提供行規則和非行規則處理模式,其中行規則可以對特殊字符的處理規則進行定義,實現終端管理程序,可通

  過創建一個或多個任務,調用接口函數實現動態安裝/卸載設備,來驗證系統支持動態安裝/卸載設備。

  (10)支持POSIX終端接口,包括設置波特率、設置奇偶校驗、獲取和設置終端屬性、設置規范模式、設置原始輸入模式、設置輸入奇偶選項、設置軟件控制流、設置原始數據輸出、設置軟件流控制字符、設置阻塞讀寫功能。

  2.8標準符合性測試

  操作系統標準符合性測試主要包括:

  (1)POSIX標準符合性測試

  操作系統的系統調用與編程接口支持POSIX規范的系統調用接口,保障應用的可移植性。具體包括:POSIX_DEVICE_IO、POSIX_NETWORKING等類。

  (2)TCP/IP標準符合性測試

  驗證BSD SOCKET套接字的標準函數接口[78]。

  (3)字符集標準符合性測試

  驗證國產操作系統數據及訪問接口是否支持GBK、ASCII、GB18030、UNICODE,并驗證在操作系統文件編碼不一致時數據訪問的正確性。

3結束語

  本文研究了國產化嵌入式實時操作系統的測試方法和要點。對于國產化嵌入式實時操作系統的測試具有一定的參考價值。本研究成果已被用于多個國產化RTOS測試工作中,取得了較好的效果。下一階段的研究方向為如何基于業界領先的風河公司的VxWorks操作系統的測試結果數據建立基準,對相關國產化同類產品進行評估。

參考文獻

  [1] 石亦磊.嵌入式實時操作系統測試方法研究[D]. 長沙:湖南大學,2011.

  [2] 郁發新.常用嵌入式實時操作系統比較分析[J]. 計算機應用,2006,26(4):761 764.

  [3] 董佳梁,李彥峰,楊秋松,等.面向航天系統的嵌入式操作系統實時性評測[J]. 計算機工程與設計,2013,34(1):114 120.

  [4] 王遠方.面向嵌入式操作系統的功能測試方法與實現[D]. 成都:電子科技大學,2011.

  [5] 趙輝,劉志勤,胡寶成. 基于嵌入式實時操作系統的文件系統的研究與設計[J]. 航空計算技術,2004,34(3):73 75.

  [6] 馬超,尹長青. VxWorks嵌入式實時操作系統的結構研究[J]. 電腦知識與技術,2006(2):133 134.

  [7] 何健.嵌入式操作系統網絡協議棧測試的研究與實現[D]. 西安:西安電子科技大學,2014.

  [8] 郝京宇,黃建華,賈風根. 協議棧的實現方法[J]. 計算機工程,2004,30(14):93 94.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 两性色午夜视频免费老司机 | 黑色丝袜美女被网站 | 最近最新免费中文字幕一 | 日韩一道本| 999yy成年在线视频免费看 | 日韩在线不卡视频 | 天天做天天躁天天躁 | 香蕉视频一区 | 日本三级网络 | 精品在线播放视频 | 国产日韩欧美精品在线 | 国产在线视频专区 | 越南一级毛片免费 | 日本爽妇网 | 国产精品嫩草视频永久网址 | 污视频18高清在线观看 | 91短视频在线高清hd | 大学生美女穿黑色丝袜网站 | 天天天操操操 | 精品一区二区三区中文字幕 | 国产成人乱码一区二区三区在线 | 老司机午夜影院 | 日韩中文字幕网 | 日鲁夜鲁鲁狠狠综合视频 | 免费在线观看的毛片 | 视频xxx| 亚洲国产成人va在线观看网址 | 看欧美一级片 | 狠狠色丁香久久婷婷综合_中 | 久久久久久精 | 东京加勒比中文字幕波多野结衣 | 免费一级特黄视频 | 国产中文久久精品 | 日本特级黄录像片 | 韩国伦理剧在线看 | 日本欧美一区二区三区不卡视频 | yy3341殇情影院理论片 | a4yy私人影院免费毛片 | 日本在线一区二区三区 | 在线观看嗯啊成人动作片 | 大象焦伊人久久综合网色视 |