李建軍1,2
?。?. 中國(guó)電子科技集團(tuán)公司第三十二研究所,上海 201808;2. 國(guó)家工程軟件產(chǎn)品質(zhì)量監(jiān)督檢驗(yàn)中心,上海 201808)
摘要:隨著自主可控戰(zhàn)略的實(shí)施,國(guó)內(nèi)多家基礎(chǔ)軟件廠商推出了相關(guān)的國(guó)產(chǎn)化嵌入式實(shí)時(shí)操作系統(tǒng)軟件,作為底層系統(tǒng)級(jí)軟件,目前業(yè)界普遍缺少相關(guān)的測(cè)試經(jīng)驗(yàn)和規(guī)范。分析并給出了國(guó)產(chǎn)化嵌入式實(shí)時(shí)操作系統(tǒng)測(cè)試內(nèi)容、測(cè)試方法和測(cè)試技術(shù)等,為從事嵌入式實(shí)時(shí)操作系統(tǒng)測(cè)試驗(yàn)證活動(dòng)提供參考指南。
關(guān)鍵詞:國(guó)產(chǎn)化;嵌入式實(shí)時(shí)操作系統(tǒng);驗(yàn)證與測(cè)試;測(cè)試規(guī)范
中圖分類(lèi)號(hào):TP311.5文獻(xiàn)標(biāo)識(shí)碼:ADOI: 10.19358/j.issn.16747720.2016.24.007
引用格式:李建軍. 國(guó)產(chǎn)化嵌入式實(shí)時(shí)操作系統(tǒng)軟件測(cè)試方法研究[J].微型機(jī)與應(yīng)用,2016,35(24):22-24,29.
0引言
嵌入式系統(tǒng)已經(jīng)在眾多行業(yè)和領(lǐng)域獲得了廣泛且成功的應(yīng)用,比如機(jī)載航空、軌道交通、工業(yè)控制等方面。就嵌入式應(yīng)用開(kāi)發(fā)來(lái)看,目前絕大部分功能較復(fù)雜的嵌入式系統(tǒng)都基于嵌入式實(shí)時(shí)操作系統(tǒng)進(jìn)行開(kāi)發(fā),一方面可以使嵌入式應(yīng)用軟件開(kāi)發(fā)人員避開(kāi)繁瑣的硬件管理, 而把主要精力放在目標(biāo)應(yīng)用的算法研究以及應(yīng)用程序自身的構(gòu)架上,另一方面應(yīng)用實(shí)時(shí)操作系統(tǒng)提供的各種服務(wù) , 可以更容易地構(gòu)建出復(fù)雜的嵌入式實(shí)時(shí)應(yīng)用系統(tǒng),并且在軟件重用性和開(kāi)放性方面實(shí)時(shí)操作系統(tǒng)也起到了非常重要的作用。國(guó)產(chǎn)化嵌入式實(shí)時(shí)操作系統(tǒng)基礎(chǔ)軟件是我國(guó)自主信息化能力和水平的重要體現(xiàn),更是保障我國(guó)信息安全的重要組成部分,因此研究其軟件測(cè)試方法和技術(shù)具有重要的意義,國(guó)內(nèi)外研究人員已經(jīng)對(duì)嵌入式實(shí)時(shí)操作系統(tǒng)的測(cè)試進(jìn)行了一定研究[13],但目前還未形成系統(tǒng)成熟的測(cè)試方法。本文主要針對(duì)國(guó)產(chǎn)化嵌入式實(shí)時(shí)操作系統(tǒng)的測(cè)試內(nèi)容和測(cè)試方法進(jìn)行研究。
1RTOS測(cè)試內(nèi)容
國(guó)產(chǎn)化嵌入式實(shí)時(shí)操作系統(tǒng)的測(cè)試主要指基本功能組件[4]測(cè)試,包括進(jìn)程管理、異常/中斷管理、時(shí)鐘/定時(shí)器管理、信號(hào)量管理、文件系統(tǒng)、I/O管理、標(biāo)準(zhǔn)符合性、網(wǎng)絡(luò)協(xié)議棧等方面的測(cè)試。涉及的測(cè)試類(lèi)型包括:文檔審查、代碼審查、功能測(cè)試、性能測(cè)試、接口測(cè)試、余量測(cè)試、邊界測(cè)試、人機(jī)交互界面測(cè)試、強(qiáng)度測(cè)試、安全性測(cè)試、恢復(fù)性測(cè)試、標(biāo)準(zhǔn)符合性測(cè)試、安裝性測(cè)試等。
2RTOS組件測(cè)試
2.1進(jìn)程管理
系統(tǒng)的分配和運(yùn)行都是以進(jìn)程為基本單位的,因而對(duì)系統(tǒng)的管理可歸結(jié)為對(duì)進(jìn)程的管理。關(guān)于進(jìn)程管理的測(cè)試,主要包括進(jìn)程的創(chuàng)建終止、阻塞喚醒、掛起激活、同步通信、調(diào)度機(jī)制幾個(gè)方面,具體為:
?。?)支持進(jìn)程的創(chuàng)建:支持進(jìn)程的創(chuàng)建,并包括申請(qǐng)進(jìn)程控制塊、為進(jìn)程分配資源、將進(jìn)程導(dǎo)入相關(guān)就緒隊(duì)列等一系列功能。
?。?)支持進(jìn)程的終止:支持響應(yīng)進(jìn)程正常結(jié)束或異常結(jié)束,終止進(jìn)程,以及釋放進(jìn)程所占有資源,將進(jìn)程控制塊從隊(duì)列中移除等功能。
?。?)支持進(jìn)程的阻塞和喚醒:準(zhǔn)確響應(yīng)進(jìn)程阻塞和喚醒的相關(guān)條件,將進(jìn)程排入阻塞和喚醒隊(duì)列中去。
?。?)支持進(jìn)程的掛起和激活:準(zhǔn)確響應(yīng)進(jìn)程的掛起和激活,并根據(jù)相關(guān)調(diào)度機(jī)制更改進(jìn)程狀態(tài)。
?。?)支持進(jìn)程的同步和通信:根據(jù)系統(tǒng)的需要設(shè)計(jì)合理的進(jìn)程同步和通信機(jī)制。
(6)支持進(jìn)程的調(diào)度:支持調(diào)度管理功能,實(shí)現(xiàn)可搶占的優(yōu)先級(jí)調(diào)度、同等優(yōu)先級(jí)先進(jìn)先出調(diào)度、同等優(yōu)先級(jí)時(shí)間片輪轉(zhuǎn)調(diào)度算法、搶占調(diào)度控制、任務(wù)鎖定調(diào)度等功能。采用功能分解法,通過(guò)創(chuàng)建多個(gè)任務(wù),并設(shè)置支持基于優(yōu)先級(jí)搶占、同等優(yōu)先級(jí)先進(jìn)先出/時(shí)間片輪轉(zhuǎn)的任務(wù)調(diào)度方法,通過(guò)查看任務(wù)切換的日志記錄來(lái)驗(yàn)證是否符合要求。
2.2異常/中斷管理
異常/中斷管理模塊的測(cè)試通過(guò)異常/中斷處理句柄的安裝來(lái)實(shí)現(xiàn),包括不同級(jí)的中斷響應(yīng)控制、當(dāng)前系統(tǒng)的中斷信息管理以及及時(shí)響應(yīng)外部產(chǎn)生的中斷幾個(gè)方面。測(cè)試時(shí)應(yīng)覆蓋以下內(nèi)容:
(1)支持中斷任務(wù)的創(chuàng)建和刪除,通過(guò)創(chuàng)建、執(zhí)行、刪除多個(gè)不同的中斷任務(wù),利用獲取任務(wù)的屬性信息函數(shù)和相應(yīng)的日志記錄來(lái)驗(yàn)證操作是否正確。
(2)支持異常發(fā)生時(shí)保存現(xiàn)場(chǎng)的異??蚣?,通過(guò)在不同任務(wù)中插入相應(yīng)中斷異常,查看異??蚣苣芊癖Wo(hù)現(xiàn)場(chǎng)數(shù)據(jù),進(jìn)行異常處理,異常清除后,驗(yàn)證任務(wù)能否從異常中恢復(fù),繼續(xù)執(zhí)行。
(3)支持異常發(fā)生時(shí)系統(tǒng)輸出相應(yīng)診斷數(shù)據(jù),包括當(dāng)前任務(wù)信息、內(nèi)存數(shù)據(jù)、錯(cuò)誤類(lèi)型等,并執(zhí)行系統(tǒng)默認(rèn)的異常處理,可通過(guò)在不同的任務(wù)中插入相應(yīng)中斷異常,查看異常發(fā)生時(shí)系統(tǒng)輸出的相應(yīng)系統(tǒng)診斷數(shù)據(jù),驗(yàn)證能否進(jìn)行系統(tǒng)默認(rèn)的異常處理。
?。?)支持與體系結(jié)構(gòu)相關(guān)聯(lián)的異常處理機(jī)制;支持體系結(jié)構(gòu)相關(guān)的異常處理,如x86平臺(tái)上的除零異常和返回非法地址異常等,可通過(guò)在不同的任務(wù)中插入與體系架構(gòu)相關(guān)的不同的中斷異常,查看異常發(fā)生時(shí)系統(tǒng)輸出的相應(yīng)系統(tǒng)診斷信息,驗(yàn)證能否進(jìn)行系統(tǒng)默認(rèn)的異常處理。
?。?)支持向用戶(hù)提供異常處理的掛接函數(shù),對(duì)于無(wú)法滿(mǎn)足用戶(hù)需求的系統(tǒng)默認(rèn)處理,用戶(hù)可以修改異常處理函數(shù),通過(guò)在不同的任務(wù)中插入不同的中斷異常,查看異常發(fā)生時(shí)系統(tǒng)輸出的相應(yīng)系統(tǒng)診斷信息和系統(tǒng)默認(rèn)的異常處理,然后通過(guò)掛接函數(shù)修改異常處理函數(shù),重復(fù)執(zhí)行一次,驗(yàn)證能否進(jìn)行用戶(hù)自定義的異常處理。
2.3時(shí)鐘/定時(shí)器管理
時(shí)鐘/定時(shí)器管理模塊的測(cè)試可以通過(guò)系統(tǒng)時(shí)鐘的管理來(lái)實(shí)現(xiàn),包括定時(shí)器功能、單調(diào)速率周期的計(jì)時(shí)方式及顯示指定定時(shí)器的信息等方面。測(cè)試時(shí)應(yīng)覆蓋以下內(nèi)容:
(1)實(shí)現(xiàn)微秒級(jí)高精度時(shí)鐘,單調(diào)速率定時(shí)器,并支持絕對(duì)時(shí)間計(jì)時(shí)和相對(duì)時(shí)間計(jì)時(shí)。
(2)支持時(shí)鐘管理,實(shí)現(xiàn)基本定時(shí)功能,基本粒度范圍,可通過(guò)在程序代碼中插樁,顯示系統(tǒng)啟動(dòng)定時(shí)任務(wù)時(shí)和系統(tǒng)觸發(fā)定時(shí)任務(wù)時(shí)的時(shí)間戳,來(lái)驗(yàn)證系統(tǒng)的基本定時(shí)功能和基本粒度范圍;顯示系統(tǒng)時(shí)間片輪轉(zhuǎn)調(diào)度時(shí)刻的時(shí)間戳,來(lái)驗(yàn)證系統(tǒng)為輪轉(zhuǎn)調(diào)度提供的時(shí)間片,并實(shí)現(xiàn)定時(shí)觸發(fā)功能。
(3)支持維護(hù)系統(tǒng)流逝時(shí)間和實(shí)時(shí)時(shí)鐘: 支持維護(hù)系統(tǒng)流逝時(shí)間,包括系統(tǒng)啟動(dòng)后的真實(shí)時(shí)間、邏輯時(shí)間等,可通過(guò)在程序代碼中插樁,顯示當(dāng)前系統(tǒng)啟動(dòng)后的真實(shí)時(shí)間和邏輯時(shí)間的時(shí)間戳,以驗(yàn)證系統(tǒng)支持維護(hù)流逝時(shí)鐘。
?。?)支持定時(shí)器的創(chuàng)建、初始化、刪除、取消、啟動(dòng)等基本操作。
?。?)實(shí)現(xiàn)為輪轉(zhuǎn)調(diào)度提供時(shí)間片,并用于信號(hào)量、事件、消息隊(duì)列、信號(hào)等操作的定時(shí)觸發(fā)管理。
2.4內(nèi)存管理
內(nèi)存用于保存進(jìn)程運(yùn)行時(shí)的程序和數(shù)據(jù),測(cè)試時(shí)應(yīng)驗(yàn)證通過(guò)核心工作區(qū)和用戶(hù)工作區(qū)控制任務(wù)對(duì)硬件內(nèi)存資源的訪問(wèn),提供內(nèi)存的分配及釋放功能、系統(tǒng)內(nèi)存信息顯示功能等。測(cè)試時(shí)應(yīng)覆蓋以下內(nèi)容:
?。?)支持核心工作區(qū)和用戶(hù)工作區(qū)的系統(tǒng)動(dòng)態(tài)內(nèi)存管理,可通過(guò)在程序代碼中插樁,在內(nèi)存的核心工作區(qū)和用戶(hù)工作區(qū)分別進(jìn)行內(nèi)存管理等基本操作,來(lái)驗(yàn)證系統(tǒng)支持核心工作區(qū)和用戶(hù)工作區(qū)的系統(tǒng)動(dòng)態(tài)內(nèi)存管理。
(2)支持在核心工作區(qū)內(nèi)分配核心對(duì)象控制塊、分配任務(wù)棧、分配消息隊(duì)列緩存區(qū)等功能,可通過(guò)在內(nèi)存的核心工作區(qū)分配核心對(duì)象控制塊、分配任務(wù)棧、分配消息隊(duì)列緩存區(qū)等,從而驗(yàn)證系統(tǒng)支持在核心工作區(qū)內(nèi)分配核心對(duì)象控制塊、分配任務(wù)棧、分配消息隊(duì)列緩存區(qū)等功能。
?。?)通過(guò)調(diào)用顯示系統(tǒng)中內(nèi)存總數(shù)、已使用數(shù)以及空閑內(nèi)存數(shù)等信息,來(lái)驗(yàn)證系統(tǒng)支持內(nèi)存信息顯示功能。
?。?)進(jìn)行內(nèi)存分配、內(nèi)存釋放、內(nèi)存重新分配以及分配內(nèi)存對(duì)齊等操作,驗(yàn)證內(nèi)存管理基本功能。
?。?)支持硬件MMU,實(shí)現(xiàn)虛擬內(nèi)存與實(shí)際內(nèi)存的一一映射。
2.5信號(hào)量管理
信號(hào)量作為用戶(hù)進(jìn)程之間進(jìn)行通信同步的原始機(jī)制,該模塊可以通過(guò)不同種類(lèi)的信號(hào)量通信方式進(jìn)行測(cè)試,包括二進(jìn)制信號(hào)量、計(jì)數(shù)信號(hào)量和互斥信號(hào)量,實(shí)現(xiàn)多任務(wù)間的同步、臨界資源的互斥訪問(wèn)以及共享資源的有效訪問(wèn)。
測(cè)試時(shí)應(yīng)覆蓋以下內(nèi)容:
?。?)支持互斥信號(hào)量、二進(jìn)制信號(hào)量、計(jì)數(shù)信號(hào)量,實(shí)現(xiàn)多任務(wù)間的同步,臨界資源的互斥訪問(wèn)以及共享資源的有效訪問(wèn): 二進(jìn)制信號(hào)量只允許一次獲取和釋放;計(jì)數(shù)器信號(hào)量則允許多次獲取或釋放,獲取/釋放的最大次數(shù)在信號(hào)量創(chuàng)建時(shí)設(shè)置;互斥信號(hào)量是特殊的二進(jìn)制信號(hào)量,支持所有權(quán)、遞歸訪問(wèn)、任務(wù)刪除安全,可通過(guò)執(zhí)行符合POSIX 1003.13-2003標(biāo)準(zhǔn)的信號(hào)量管理模塊的接口函數(shù)調(diào)用,由此驗(yàn)證操作系統(tǒng)信號(hào)量管理相關(guān)接口的符合性和正確性。
(2)支持互斥信號(hào)量采用優(yōu)先級(jí)繼承或優(yōu)先級(jí)天花板方式防止優(yōu)先級(jí)逆轉(zhuǎn),在使用優(yōu)先級(jí)天花板協(xié)議時(shí),可指定所有使用此信號(hào)量的任務(wù)的最高優(yōu)先級(jí)以及優(yōu)先級(jí)范圍。
?。?)通過(guò)在不同類(lèi)型的不同任務(wù)的程序代碼中插樁,顯示信號(hào)量擁有者、空閑信號(hào)量、已用信號(hào)量等信息,從而驗(yàn)證系統(tǒng)支持信號(hào)量信息顯示。
?。?)支持獲取信號(hào)量、釋放信號(hào)量、刪除信號(hào)量等功能。
2.6文件系統(tǒng)
文件系統(tǒng)用于組織和管理計(jì)算機(jī)中所存儲(chǔ)的大量的程序和數(shù)據(jù)。測(cè)試文件系統(tǒng)模塊包括對(duì)文件的管理以及實(shí)現(xiàn)對(duì)文件及目錄的常見(jiàn)操作,包括創(chuàng)建、打開(kāi)、關(guān)閉、讀寫(xiě)文件和注冊(cè)文件系統(tǒng)等幾個(gè)方面[5]。
測(cè)試時(shí)應(yīng)覆蓋以下內(nèi)容:
?。?)支持根文件系統(tǒng),能夠?qū)τ脖P(pán)等塊設(shè)備實(shí)現(xiàn)掛接/卸載多種文件系統(tǒng)(FAT\\NTFS\\EXT2\\EXT3\\VFAT等)。
?。?)支持文件系統(tǒng)訪問(wèn)塊設(shè)備操作表,能使用主設(shè)備號(hào)訪問(wèn)設(shè)備表的信息,可通過(guò)執(zhí)行掛接/卸載操作,驗(yàn)證其是否提供具體文件系統(tǒng)的掛接/卸載函數(shù),能夠?qū)τ脖P(pán)等塊設(shè)備進(jìn)行文件系統(tǒng)的掛接。
?。?)支持文件句柄操作控制表維護(hù)文件的操作,包括目錄、設(shè)備、內(nèi)存文件等,可通過(guò)執(zhí)行程序來(lái)驗(yàn)證文件系統(tǒng)訪問(wèn)塊設(shè)備操作表,使用主設(shè)備號(hào)訪問(wèn)設(shè)備表的信息。
(4)支持顯示當(dāng)前已注冊(cè)文件系統(tǒng)的設(shè)備節(jié)點(diǎn)及安裝點(diǎn)信息,通過(guò)在程序中調(diào)用文件系統(tǒng)信息訪問(wèn)函數(shù)。
?。?)通過(guò)在程序中調(diào)用文件格式化操作相關(guān)接口函數(shù),以指定的文件系統(tǒng)類(lèi)型格式化設(shè)備,驗(yàn)證文件系統(tǒng)格式化功能的正確性。
?。?)通過(guò)在程序中調(diào)用文件操作相關(guān)接口進(jìn)行目錄、設(shè)備、內(nèi)存文件的創(chuàng)建、讀寫(xiě)、刪除、關(guān)閉操作,驗(yàn)證根文件系統(tǒng)功能的正確性。
?。?)支持多分區(qū),在單個(gè)分區(qū)下可創(chuàng)建多層目錄結(jié)構(gòu),可以創(chuàng)建任意數(shù)量的文件直至剩余內(nèi)存空間不足。
?。?)支持對(duì)塊設(shè)備進(jìn)行格式化,對(duì)系統(tǒng)數(shù)據(jù)的完整性進(jìn)行檢測(cè)。
(9)支持VFAT長(zhǎng)文件名。
?。?0)支持FAT12、FAT16、FAT32文件分配表類(lèi)型,可通過(guò)設(shè)置FAT12、FAT16、FAT32文件分配表類(lèi)型,驗(yàn)證對(duì)文件分配表類(lèi)型支持功能的正確性。
?。?1)通過(guò)在dosfs文件系統(tǒng)中調(diào)用文件操作相關(guān)接口進(jìn)行目錄、設(shè)備、內(nèi)存文件的創(chuàng)建、讀寫(xiě)、刪除、關(guān)閉操作,驗(yàn)證dosfs文件系統(tǒng)實(shí)現(xiàn)塊設(shè)備的文件操作和目錄操作功能的正確性。
?。?2)通過(guò)編程進(jìn)行多任務(wù)讀寫(xiě)操作,驗(yàn)證系統(tǒng)對(duì)多任務(wù)讀寫(xiě)功能的支持。
?。?3)兼容廣泛使用的多種塊設(shè)備,如軟盤(pán)、硬盤(pán)、閃存等,通過(guò)在各種塊設(shè)備,如軟盤(pán)、硬盤(pán)、閃存等硬件上創(chuàng)建文件系統(tǒng),驗(yàn)證兼容多種塊設(shè)備功能的正確性。
2.7基本I/O管理
I/O控制模塊可以通過(guò)設(shè)備驅(qū)動(dòng)表、設(shè)備表、文件描述符表、總線(xiàn)驅(qū)動(dòng)支持、設(shè)備中斷處理機(jī)制對(duì)上層應(yīng)用程序提供統(tǒng)一的接口,支持對(duì)硬件設(shè)備的統(tǒng)一訪問(wèn)等[6]。
測(cè)試時(shí)應(yīng)覆蓋以下內(nèi)容:
(1)創(chuàng)建一個(gè)或多個(gè)任務(wù),調(diào)用I/O接口函數(shù)(open、close、read、write等)實(shí)現(xiàn)掛接設(shè)備、打開(kāi)設(shè)備、讀寫(xiě)設(shè)備、關(guān)閉設(shè)備、控制設(shè)備等功能,驗(yàn)證系統(tǒng)支持設(shè)備文件的統(tǒng)一操作。
(2)通過(guò)創(chuàng)建一個(gè)或多個(gè)任務(wù),調(diào)用文件接口函數(shù)(open、close、read、write等)實(shí)現(xiàn)打開(kāi)文件、創(chuàng)建文件、文件位置指針操作、讀文件、寫(xiě)文件、修改文件的屬性、獲取文件的信息、刪除文件、顯示文件、截取文件大小等功能,驗(yàn)證系統(tǒng)支持普通文件的操作。
(3)通過(guò)創(chuàng)建一個(gè)或多個(gè)任務(wù),調(diào)用目錄接口函數(shù)(open、close、read、change等)實(shí)現(xiàn)創(chuàng)建目錄、讀目錄、關(guān)閉目錄、改變目錄路徑、打開(kāi)目錄、刪除目錄、獲取當(dāng)前目錄、移動(dòng)目錄、重置目錄等功能,驗(yàn)證系統(tǒng)支持目錄操作。
?。?)通過(guò)在系統(tǒng)初始化時(shí)實(shí)現(xiàn)三個(gè)基本的描述符:0(標(biāo)準(zhǔn)輸入,stdin),1(標(biāo)準(zhǔn)輸出,stdout),2(標(biāo)準(zhǔn)錯(cuò)誤,stderr),以后打開(kāi)的文件描述符從3開(kāi)始,創(chuàng)建一個(gè)或多個(gè)任務(wù),調(diào)用接口函數(shù)操作文件描述符,驗(yàn)證系統(tǒng)支持基本描述符統(tǒng)一管理。
(5)支持設(shè)置最大文件描述符,支持復(fù)制文件描述符,可通過(guò)創(chuàng)建一個(gè)或多個(gè)任務(wù),調(diào)用接口函數(shù)設(shè)置文件描述符,來(lái)驗(yàn)證系統(tǒng)支持任務(wù)設(shè)置0、1、2的局部文件描述符和全局文件描述符。
?。?)通過(guò)創(chuàng)建一個(gè)或多個(gè)任務(wù),調(diào)用接口函數(shù)實(shí)現(xiàn)設(shè)備驅(qū)動(dòng)注冊(cè)、卸載、顯示等操作,驗(yàn)證系統(tǒng)支持設(shè)備驅(qū)動(dòng)表操作。
?。?)支持設(shè)備驅(qū)動(dòng)注冊(cè)、卸載、顯示,要求卸載的同時(shí)必須釋放所占用的全部資源及設(shè)備表維護(hù)系統(tǒng)掛接的所有設(shè)備,根據(jù)主次設(shè)備號(hào)訪問(wèn)對(duì)應(yīng)的設(shè)備驅(qū)動(dòng),可通過(guò)創(chuàng)建一個(gè)或多個(gè)任務(wù),調(diào)用接口函數(shù)實(shí)現(xiàn)設(shè)備驅(qū)動(dòng)卸載操作,并查看所有占用資源的釋放情況,從而驗(yàn)證系統(tǒng)能否在設(shè)備驅(qū)動(dòng)卸載的同時(shí)釋放所占用的全部資源。
?。?)支持顯示當(dāng)前設(shè)備表中已注冊(cè)的設(shè)備信息,支持動(dòng)態(tài)安裝/卸載設(shè)備,可通過(guò)創(chuàng)建一個(gè)或多個(gè)任務(wù),調(diào)用接口函數(shù)顯示當(dāng)前設(shè)備表中已注冊(cè)的設(shè)備信息,驗(yàn)證系統(tǒng)支持顯示當(dāng)前設(shè)備表中已注冊(cè)的設(shè)備信息。
?。?)支持字符設(shè)備的輸入/輸出緩存管理,對(duì)于終端輸入提供行規(guī)則和非行規(guī)則處理模式,其中行規(guī)則可以對(duì)特殊字符的處理規(guī)則進(jìn)行定義,實(shí)現(xiàn)終端管理程序,可通
過(guò)創(chuàng)建一個(gè)或多個(gè)任務(wù),調(diào)用接口函數(shù)實(shí)現(xiàn)動(dòng)態(tài)安裝/卸載設(shè)備,來(lái)驗(yàn)證系統(tǒng)支持動(dòng)態(tài)安裝/卸載設(shè)備。
?。?0)支持POSIX終端接口,包括設(shè)置波特率、設(shè)置奇偶校驗(yàn)、獲取和設(shè)置終端屬性、設(shè)置規(guī)范模式、設(shè)置原始輸入模式、設(shè)置輸入奇偶選項(xiàng)、設(shè)置軟件控制流、設(shè)置原始數(shù)據(jù)輸出、設(shè)置軟件流控制字符、設(shè)置阻塞讀寫(xiě)功能。
2.8標(biāo)準(zhǔn)符合性測(cè)試
操作系統(tǒng)標(biāo)準(zhǔn)符合性測(cè)試主要包括:
(1)POSIX標(biāo)準(zhǔn)符合性測(cè)試
操作系統(tǒng)的系統(tǒng)調(diào)用與編程接口支持POSIX規(guī)范的系統(tǒng)調(diào)用接口,保障應(yīng)用的可移植性。具體包括:POSIX_DEVICE_IO、POSIX_NETWORKING等類(lèi)。
?。?)TCP/IP標(biāo)準(zhǔn)符合性測(cè)試
驗(yàn)證BSD SOCKET套接字的標(biāo)準(zhǔn)函數(shù)接口[78]。
?。?)字符集標(biāo)準(zhǔn)符合性測(cè)試
驗(yàn)證國(guó)產(chǎn)操作系統(tǒng)數(shù)據(jù)及訪問(wèn)接口是否支持GBK、ASCII、GB18030、UNICODE,并驗(yàn)證在操作系統(tǒng)文件編碼不一致時(shí)數(shù)據(jù)訪問(wèn)的正確性。
3結(jié)束語(yǔ)
本文研究了國(guó)產(chǎn)化嵌入式實(shí)時(shí)操作系統(tǒng)的測(cè)試方法和要點(diǎn)。對(duì)于國(guó)產(chǎn)化嵌入式實(shí)時(shí)操作系統(tǒng)的測(cè)試具有一定的參考價(jià)值。本研究成果已被用于多個(gè)國(guó)產(chǎn)化RTOS測(cè)試工作中,取得了較好的效果。下一階段的研究方向?yàn)槿绾位跇I(yè)界領(lǐng)先的風(fēng)河公司的VxWorks操作系統(tǒng)的測(cè)試結(jié)果數(shù)據(jù)建立基準(zhǔn),對(duì)相關(guān)國(guó)產(chǎn)化同類(lèi)產(chǎn)品進(jìn)行評(píng)估。
參考文獻(xiàn)
?。?] 石亦磊.嵌入式實(shí)時(shí)操作系統(tǒng)測(cè)試方法研究[D]. 長(zhǎng)沙:湖南大學(xué),2011.
?。?] 郁發(fā)新.常用嵌入式實(shí)時(shí)操作系統(tǒng)比較分析[J]. 計(jì)算機(jī)應(yīng)用,2006,26(4):761 764.
[3] 董佳梁,李彥峰,楊秋松,等.面向航天系統(tǒng)的嵌入式操作系統(tǒng)實(shí)時(shí)性評(píng)測(cè)[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2013,34(1):114 120.
?。?] 王遠(yuǎn)方.面向嵌入式操作系統(tǒng)的功能測(cè)試方法與實(shí)現(xiàn)[D]. 成都:電子科技大學(xué),2011.
[5] 趙輝,劉志勤,胡寶成. 基于嵌入式實(shí)時(shí)操作系統(tǒng)的文件系統(tǒng)的研究與設(shè)計(jì)[J]. 航空計(jì)算技術(shù),2004,34(3):73 75.
?。?] 馬超,尹長(zhǎng)青. VxWorks嵌入式實(shí)時(shí)操作系統(tǒng)的結(jié)構(gòu)研究[J]. 電腦知識(shí)與技術(shù),2006(2):133 134.
?。?] 何健.嵌入式操作系統(tǒng)網(wǎng)絡(luò)協(xié)議棧測(cè)試的研究與實(shí)現(xiàn)[D]. 西安:西安電子科技大學(xué),2014.
?。?] 郝京宇,黃建華,賈風(fēng)根. 協(xié)議棧的實(shí)現(xiàn)方法[J]. 計(jì)算機(jī)工程,2004,30(14):93 94.