當前位置:文書都 >

實用範文 >論文 >

淺談一種在嵌入式內核中測試exfat文件系統性能的方法的論文

淺談一種在嵌入式內核中測試exfat文件系統性能的方法的論文

隨着嵌入式技術的發展,利用各種開源的嵌入式平台來開發電子產品,已經成為大部分公司的首選。要使運行嵌入式系統的電子產品實現音頻、視頻、圖片等多媒體信息的存儲及處理,幾乎離不開文件系統的支持,那麼在嵌入式平台下開發各種文件系統也是必然。其中具備優越性能的exfat 文件系統由於微軟的不開源性,也常常需要在內核中自主開發。

淺談一種在嵌入式內核中測試exfat文件系統性能的方法的論文

在嵌入式系統中,如linux、ucos,實現exfat 文件系統的功能已經不難。嵌入式開發者在具備嵌入式開發經驗及exfat 文件系統的知識基礎上,即可完成。但是在實現了exfat 文件系統的功能後,要如何驗證其性能卻不是那麼容易。

1 測試工具的侷限性

嵌入式軟件由於內存有限、實時性、開發工具昂貴等特點,測試非常困難。嵌入式軟件從下到上,分為硬件層、驅動層、內核層、應用層,而內核層由於結構複雜、代碼龐大,是嵌入式軟件中最難測試的部分,本文中待測的exfat 文件系統正處於內核層。雖然嵌入式軟件有一些集成的測試軟件,但是一般的測試軟件只能用於標準的嵌入式內核,只能測試規定的功能,不能進行二次開發,而對於很多嵌入式產品來説,嵌入式內核源碼需要修改,也需要測試更多特定的.功能,這就需要特定的測試方式。

因此本文要探索的是在內核層的文件系統的測試方式。按照測試方式來分類,該測試屬於白盒測試的範疇。

2 測試體系

文件系統是一種存儲系統,對於存儲系統來説,需要關注的性能有訪問接口性能、數據讀寫性能、聚合帶寬、最大併發數、任務數、最大吞吐率、可擴展能力等,本文中的測試任務是測試嵌入式系統內核層文件系統的性能,因此需要測試的性能也相對單一,着重測試訪問接口性能和數據讀寫性能。其中訪問接口性能是指各個操作元數據和數據的API 返回速度,單位為API 操作數/s。以Open 函數為例,在應用層新建文件,調用Open函數,就可以通過內核文件函數FS_Open 函數調用驅動層函數,從而調用硬件,完成具體的功能。那麼該API的返回速度指發送Open 命令到返回成功所花的時間;數據讀寫性能是指測定不同文件大小,數據塊大小和讀寫比例的數據讀寫性能,單位為MB/s,以Read 函數為例,預先在系統中插入存儲設備,調用Read 函數來讀取該存儲設備中的特定大小的文件,通過文件的大小除以讀取的時間即可獲得讀取的速度;當然也可以用time 命令來測試時間,手動去計算速度,測試代碼如下:

#define size 1024*1024*200

#define LEN 1024

#include

int main()

{

FILE *fp1;

char *buf=new char[LEN];

int i,j;

fp1=fopen(“”,”rb”);

for(j=0;j<1024*500;j++)

{

fread(buf,1024,1,fp1);

}

printf(“ok!/n”);

fclose(fp1);

}

綜上所述,測試體系如下所示:其中應用層的測試代碼作用是調用相關的APP 函數,內核層對應函數指的是exfat 文件系統的功能函數,驅動層函數指的是與硬件相連的操作函數。

Exfat 文件系統的接口函數有:

unsigned int fsapitbl[]={

(unsigned int)FOpen,

(unsigned int)FClose,

(unsigned int)FRead,

(unsigned int)FWrite,

(unsigned int)GetLength,

(unsigned int)GetTime,

(unsigned int)ConvertName,

......

};

針對所有的APP 都需要完成接口性能測試,測試其響應時間以及功能的正確性;針對包含Read 和Write的APP 還需要完成讀寫性能測試,測試其讀寫速度,並且針對不同的存儲設備,不同的文件大小要有不同的測試數據。對於存儲系統的其他測試性能,需要聯合整個嵌入式系統來測試。

3 測試數據

在ucos 嵌入式平台上測試exfat 的讀寫性能所得。其中ReadDIO 指用DirectIO 的方式來完成讀操作,速度比一般的Read 更快,當然針對不同的應用需求,可能會對內核文件系統系統進行不同的修改,測試時要根據文件系統需求文檔和設計文檔來設計測試樣例。

4 測試結果

通過測試數據的分析,可以看出本文提出的測試方法可以快速全面地測試內核層exfat 文件系統的性能。雖然本文提出的測試方法目前只針對exfat 文件系統,但因為exfat、fat、ntfs 等文件系統基本接口APP 的類似性,本問提出的測試方法也可以拓展到其他文件系統的測試。不過本文的測試方法還未實現全自動的測試,這還需要後續通過配置腳本來實現。

  • 文章版權屬於文章作者所有,轉載請註明 https://wenshudu.com/shiyongfanwen/lunwen/g9oeqn.html
專題