实时系统性能测试指标_第1页
实时系统性能测试指标_第2页
实时系统性能测试指标_第3页
实时系统性能测试指标_第4页
实时系统性能测试指标_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1、 Rhealstone Rhealstone是系统实时性的测量基准之一,Rhealstone方法对ERTOS中六个关键操作的时间量进行测量,并将它们的加权和称为Rhealstone数。这六个时间量如下:1 任务切换时间(task switching time),也称上下文切换时间,定义为系统在两个独立的、处于就绪态并具有相同优先级的任务之间切换所需要的时间。它包括三个部分,即保存当前任务上下文的时间、调度程序选中新任务的时间和恢复新任务上下文的时间。切换所需的时间主要取决于保存任务上下文所用的数据结构以及操作系统采用的调度算法的效率.2 抢占时间(preemption time),即系统将

2、控制从低优先级的任务转移到高优先级任务所花费的时间。为了对任务进行抢占,系统必须首先识别引起高优先级任务就绪的事件,比较两个任务的优先级,最后进行任务的切换,所以抢占时间中包括了任务切换时间。3 中断延迟时间(interrupt latency time),指从中断第一条指令所持续的时间间隔它由四部分组成,即硬件延迟部分(通常可以忽略不计)、ERTOS的关中断时间、处理器完成当前指令的时间以及中断响应周期的时间。4 信号量混洗时间(semaphore shuffling time),指从一个任务释放信号量到另一个等待该信号量的任务被激活的时间延迟。在ERTOS中,通常有许多任务同时竞争某一共享

3、资源,基于信号量的互斥访问保证了任一时刻只有一个任务能够访问公共资源。信号量混洗时间反映了与互斥有关的时间开销,因此也是衡量ERTOS实时性能的一个重要指标。5 死锁解除时间(deadlock breaking time),即系统解开处于死锁状态的多个任务所需花费的时间。死锁解除时间反映了RTOS解决死锁的算法的效率。6 数据包吞吐率(datagram throuShput time),指一个任务通过调用ERTOS的原语,把数据传送到另一个任务去时,每秒可以传送的字节数。2、 关键的性能指标分析一个实时操作系统的实时性能的主要评测指标包括上下文切换时间,抢占时间,中断延迟时间,信号量混洗时间。

4、具体含义如下:1 上下文切换时间上下文切换时间也称任务切换时间(task switching time),定义为系统在两个独立的、处于就绪态并且具有相同优先级的任务之间切换所需要的时间。它包括三个部分,即保存当前任务上下文的时间、调度程序选中新任务的时间和恢复新任务上下文的时间。切换所需的时间主要取决于保存任务上下文所用的数据结构以及操作系统采用的调度算法的效率。产生任务切换的原因可以是资源可得,信号量的获取等。任务切换是任一多任务系统中基本效率的测量点,它是同步的,非抢占的,实时控制软件实现了一种基于同等优先级任务的时间片轮转算法。影响任务切换的因素有:主机CPU的结构,指令集以及CPU特性

5、。任务切换过程增加了应用程序的额外负荷。CPU的内部寄存器越多,额外负荷就越重。任务切换所需要的时间取决于CPU有多少寄存器要入栈。实时内核的性能不应该以每秒钟能做多少次任务切换来评价,RTOS中通常是1微秒左右。Figure 。1.: Context Switch TimeT1 = TIME START FOR FUNCTION “OS_TASK_SW()”(任务切换宏)T2 = TIME END FOR FUNCTION “OS_TASK_SW()”CST= T2-T12 抢占时间(preemption time)抢占时间即系统将控制权从低优先级的任务转移到高优先级任务所花费的时间。为了对

6、任务进行抢占,系统必须首先识别引起高优先级任务就绪的事件,比较两个任务的优先级,最后进行任务的切换,所以抢占时间中包括了任务切换时间。它和任务切换有些类似,但是抢占时间通常花费时间更长。这是因为执行中首先要确认唤醒事件,并评估正在运行的任务和请求运行的任务的优先级高低,然后才决定是否切换任务。实质上,所有的多处理任务可以在执行期间动态分配优先级,所以,抢占时间也是衡量实时性能的重要指标。Figure 2.2: Preemption TimePT = T2 T03 中断延迟(Interrupt Latency)中断延迟时间是指从接收到中断信号到操作系统做出响应,并完成进入中断服务例程所需要的时间

7、。多任务操作系统中,中断处理首先进入一个中断服务的总控程序,然后才进入驱动程序的ISR。中断延迟时间最大关中断时间硬件开始处理中断到开始执行中断服务例程第一条指令之间的时间。硬件开始处理中断到开始执行中断服务例程的第一条指令之间的时间由硬件决定,所以,中断延迟时间的长短主要取决于最大关中断的时间。硬实时操作系统的关中断时间通常是几微秒,而Linux最坏可达几毫秒。Figure 2.3: Interrupt LatencyIL= Max(Ta,Tb,Tc)4 信号量混洗时间信号量混洗时间(semaphore shuffling time),是指从一个任务释放信号量到另一个等待该信号量的任务被激活

8、的时间延迟。在RTOS中,通常有许多任务同时竞争某一共享资源,基于信号量的互斥访问保证了任一时刻只有一个任务能够访问公共资源。信号量混洗时间反映了与互斥有关的时间开销,因此也是衡量ERTOS实时性能的一个重要指标。Figure 2.4: Semaphore Shuffling TimeSST = T0-T13、 测试方法1 任务切换时间测试测试设计说明:测试项为协同式的任务调度时间,它是指具有相同优先级并且相互独立的两个就绪状态的人物之间相互切换所花费的时间开销。它主要有保存当前任务上下文的时间,调度程序选中新任务的时间和恢复新任务上下文的时间这三部分组成。图4.2给出了两个任务切换过程的示意

9、图图3.1两个任务切换过程的示意图这里假设测试任务用TASK表示,TASKi表示第i个正在运行的任务,测试过程中为了能够尽量减少系统的误差,这里我们采取给系统中设置多个任务,记为任务0到N-1。同时各个任务间的切换是从TASK0开始,到TASK1,这样一直切换下去,最后再从TASKN-1切换到最开始的任务TASK0。上述过程重复K次,就可以得到K个任务切换时间。在测试过程中,需要在任务的源代码中插入测试控制代码并记录时间。如下面代码1所示为任务TASK0插入测试控制代码后的伪代码执行流程。2 任务抢占时间测试测试设计说明:测试项为抢占式的任务调度时间,大小取决于低优先级任务向高优先级任务切换所

10、需要的时间开销。系统在进行任务抢占的时候,先区分出任务优先级的大小,找到优先级高的就绪事件,当发生任务切换时,高优先级的任务先被响应,这里抢占时间就已经把任务切换时间包含在内。该测试中包含 5 个由高到低不同优先级的任务,各个任务在执行过程中会将自己的计数器加1。在测试开始时,只有优先级最低的任务处于就绪,其它任务都被挂起。优先级最低的任务先唤醒优先级次低的任务被抢占,这样依次抢占下去后,最高优先级的任务获的CPU使用权后又将自己挂起,次高优先级的任务也将自己挂起,到最后优先级最低任务又获得CPU 使用权,一个新的循环又开始。图3.2 是测试3 的运行示意图:图3.2 抢占式的任务调度测试3

11、中断管理性能测试测试设计说明:定义中断处理延迟时间是系统中断发生到中断服务程序中首条指令开始运行之间的间隔所花费的时间。在测试过程中,为了能够测试系统中断延迟时间的最差结果,可以选择一些如系统调用等对中断延迟有比较大影响作用的一系列因素,并使中断服务程序绑定其对应的中断号,最后在程序的适当位置插入测量控制代码。如下面代码2所示为一个用于测量中断延迟的测试负载的伪代码示例。代码说明:代码2中函数call_init是用于生成系统中断,实际过程中通常也采用软中断的方式。这里我们假设Ta是系统中断请求开始的时间,Tb是系统中断服务程序被调用进行的时间,从而Tb-Ta的时间差就是中断延迟。4 信号混洗时间测试测试说明:IPC机制性能测试主要测试以下时间:创建一个同步/互斥对象的时间,删除一个同步/互斥对象的时间,获取一个同步/互斥对象的时间,释放一个同步/互斥对象的时间。获取/释放信号量通

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论