如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
万方数据唧回哥嵌入式linux操作系统任务性能测试研究ofPerformance王王毅刚辉冯亚楠ResearchTaskTestingUndertheEmbeddedLinuxOperationSystem所谓实时性,即必须满足时间约束的特性。实时软件的处理速度并不一定非常快,重要的是需要准时和及肘,实时软件的时间约束主要表现为软件或其中的进程的时间约束。进程也叫做任务,在多进程的操作系统中,进程调度是一个全局性、关键性的问题,它对系统的总体设计、系统的实现、功能设置以及各个方面的性能都有着决定性的影响。任务性能测试的对象是操作系统中任务上下文切换时间、任务切换时间、任务抢占时间、中断延件的测试方法。嵌入式系统的开发模式是基于host—target的方式,也就是主机宿主机的方式。这决定了它的测试方式。基于宿主机的测试之间做出折衷。基于目标机的测试要消耗较多的经费和时间,而基于宿主机的测试代价较小,但毕竟是在全模拟的环境中进行的。低级别的软件集成在宿主机平台上完成有很大优势,级别越高,基层越依赖机环境下模拟。操作系统下的任务性能测试必须是建立在真实的目标系统运行环境下的测试,而且很大程度上,系统还要和外部环境频繁的交互。在目标系统上进行的交叉测试,行之有效的方式是找到一种合适的插桩技术2.1插桩技术的的方法,通常对测试工具的分类包括纯软件测试工具对程序的运行造成一定的影响,通过插桩造成了代码膨源。并且,系统还要解决插桩数据的收集和输出,结果导致系统不能够在真实环境下运行,影响到系统的性能。在实时系统中直接会导致系统错误。纯硬件的测试工具一般用在系统的硬件开发阶段,例如逻辑分析仪和仿真器。逻辑分析仪是基于总线信号采样的方式,并且只能工作在关闭缓存的状态下,否则代码可能只送到缓存,而并没有被命中。纯硬件工具的采样方式造成数据丢失,而且几乎无法进行覆盖率等分析。汲取纯软件插桩技术的代码膨胀问题,和纯硬件测试工具的数据采集方式。我们可以采用硬件插桩技术进行测试数据的分析。硬件插桩技术,就是利用纯软件的插桩技术给源代码做影响系统最小的数据标记,2.2数据采集硬件辅助的数据采集,是通过在系统的物理地址空在程序运行到标记点的时候,向指定的这个物理地址发送这一标记数据。数据采集部件只当做是目标系统的外部只写设备。当数据发送到总线上的时候,有写信号电用判断发送的状态。数据采集部件会自动实时进行采换信息。获得进程切换信息,使用操作系统下的任务钩子函数插桩。任务钩子函数,是当任务切换、任务创建或者任务删除的时候从操作系统中需要调用的一些功能函l前言迟时间、中断响应时间等。2嵌入式软件测试方法嵌入式软件测试与普通软件测试不同的是嵌入式软嵌入式软件测试中,常常要在基于目标机的测试和于目标环境。确认测试最终也必须在目标环境中进行,因为系统的确认必须在真实系统之下完成,不能在宿主和数据采集的手段。插桩,是借助向被测程序中插入操作来实现测试目和纯硬件测试工具,纯软件测试工具对源程序进行插桩胀,源程序和桩模块都要占用处理器,以及系统其它资间预先定义好一个空闲的地址。源代码的硬件插桩就是平去触发采集设备。目标系统只完成数据的发送,而不集。如图1所示:3任务性能测试为了获取精确的任务性能分析,必须获取进程的切I辉等:嵌入式linux操锋系统任务性能测试研究(军械工程学院维修工程研究所,河北石家庄050003)摘要:在嵌入式系统软件测试中,由于嵌入式系统具有内存资源不丰富、JO通道少、实对性等特征,使得嵌入式软件测试难度较大;尤其是针对系统中任务性能等时间响应的测试。仅仅通过软件插桩,更难以体现运行环境的真实性。本文研究了利用软件插桩的原理方法,并通过硬件采集数据的方式,针对嵌入式Unu操作系统中任务性能的测试是行之有效的。关键词:插桩;嵌入式系统;性能;总线;进程调度圈l总线数据采集示意图万方数据《计量与溺试技术溯10年第37卷第’1期调度程序。在每次反复循环中,驱动程序都要检查调度响应时间等。本文只研究在应用中比较关心的任务切换行任务上下文的时间、选择下一个任务的调度时间以及通过计算进程创建和退出的时间差,可以得到任务作为一个例子,设想这个环节:一个较低优先级的任任务B是下一个在当前运行队列将任务A放置在任务B之后,因为的电平信号触发硬件中断机制产生的,中断仲裁部件处半仿真黑盒测试系统,例如testquest编写测试脚本,通过测试工具对系统当前状态做出判断,在系统运行到用户可预料、可设定的状态向系统重复申请中断,实现多次测性能分析能记录分析程序中每个函数的最大运行时过程,性能优化其实是对操作系统各子系统达到一种平衡处理完数据,进行的数据传递操作。CPU利用率中,一般的数据在CPU中进行运算的一系列过程。数。这些钩子函数能够及时向系统总线发送代表特定任务事件