浅谈一种在嵌入式内核中测试exfat文件系统性能的方法的论文

2021-04-28 论文

  随着嵌入式技术的发展,利用各种开源的嵌入式平台来开发电子产品,已经成为大部分公司的首选。要使运行嵌入式系统的电子产品实现音频、视频、图片等多媒体信息的存储及处理,几乎离不开文件系统的支持,那么在嵌入式平台下开发各种文件系统也是必然。其中具备优越性能的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(“data.in”,”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 的类似性,本问提出的测试方法也可以拓展到其他文件系统的测试。不过本文的测试方法还未实现全自动的测试,这还需要后续通过配置脚本来实现。

【浅谈一种在嵌入式内核中测试exfat文件系统性能的方法的论文】相关文章:

浅谈歌唱中的位置与方法论文03-30

浅谈基于嵌入式系统在教学中的应用论文01-26

软件开发的性能测试与研究论文11-03

浅谈解构与组合方法在服饰设计中的应用论文07-07

浅谈前端性能优化05-02

浅谈认识汉字的方法的论文03-20

浅谈阅读教学中内容的选择方法论文09-26

浅谈多种方法在初中数学教学中的应用论文08-29

浅谈学术兴趣驱动的嵌入式系统教学论文07-31