




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、RhealstoneRhealstone是系统实时性的测量基准之一,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.数据包吞吐率(datagramthrouShput time),指一个任务通过调用ERTOS的原语,把数 据传送到另一个任务去时,每秒可以传送的字节数。二、 关键的性能指标分析一个实时操作系统的实时性能的主要评测指标包括上下文切换时间,抢占时间,中断延退时间,信号量混洗时间。
4、具体含义如下:1.上下文切换时间上下文切换时间也称任务切换时间(task switching time),定义为系统在两个独立的、处于就绪态并且具有相同优先级的任务之间切换所需要的时间。它包括三个部分,即保存当前任务上下文的时间、调度程序选中新任务的时间和恢复新任务上下文的时间。切换所需的时间主要取决于保存任务上下文所用的数据结构以及操作系统采用的调度算法的效率。产生任务切换的原因可以是资源可得,信号量的获取等。任务切换是任一多任务系统中基本效率的测量点,它是同步的,非抢占的,实时控制软件实现了一种基于同等优先级任务的时间片轮转算法。影响任务切换的因素有:主机CPU的结构,指令集以及CPU特性
5、。务切换所需要的时间取决于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、行任务的切换,所以抢占时间中包括了任务切换时间。它和任务切换有些类似, 但是抢占时间通常花费时间更长。这是因为执行中首先要确认唤醒事件,并评估正在运行的任务和请求运行的任务的优先级高低,然后才决定是否切换任务。实质上,所有的多处理任务可以在执行期间动态分配优先级,所以,抢占时间也是衡量实时性能的重要指标。TASK1TASK;TUTTT7T7Figure 2.2: Preemption TimePT = T2 - TO3.中断延退(Interrupt Latency)中断延退时间是指从接收到中断信号到操作系统做出响应,并完成进入中断服务例程所需要任务切换过程增加了应用程序的额外负荷。CPU的内部
7、寄存器越多,额外负荷就越重。任的时间。多任务操作系统中,中断处理首先进入一个中断服务的总控程序,然后才进入驱动程序的ISR。中断延退时间=最大关中断时间+硬件开始处理中断到开始执行中断服务例程第一条指令之间的时间。硬件开始处理中断到开始执行中断服务例程的第一条指令之间的时间由硬件决定,断延退时间的长短主要取决于最大关中断的时间。硬实时操作系统的关中断时间通常是几微秒,而Linux最坏可达几毫秒。Figure 2.3: Interrupt LatencyIL= Max(Ta,Tb,Tc)4.信号量混洗时间信号量混洗时间(semaphore shuffling time),是指从一个任务释放信号量
8、到另一个等待该信 号量的任务被激活的时间延退。在RTOS中,通常有许多任务同时竞争某一共享资源,基 于信号量的互斥访问保证了任一时刻只有一个任务能够访问公共资源。信号量混洗时间反映了与互斥有关的时间开销,因此也是衡量ERTOS实时性能的一个重要指标。SST = T0-T1三、测试方法1.任务切换时间测试测试设计说明:测试项为协同式的任务调度时间,它是指具有相同优先级并且相互独立所以,中Ta= T1-T0ITTC= T5-T4OS_TASSW()OSInlExiXTAS* IFigure 2.4: Semaphore Shuffling Time的两个就绪状态的人物之间相互切换所花费的时间开销。
9、它主要有保存当前任务上下文的时间,调度程序选中新任务的时间和恢复新任务上下文的时间这三部分组成。图4.2给出了两个任务切换过程的示意图任务】任务】等待同步等待同步信号任务任务 I图3.1两个任务切换过程的示意图这里假设测试任务用TASK表示,TASKi表示第i个正在运行的任务,测试过程中为了 能够尽量减少系统的误差,这里我们采取给系统中设置多个任务,记为任务0到N-1。同时各个任务间的切换是从TASK0开始,到TASK1,这样一直切换下去,最后再从TASKN-1切换到最开始的任务TASK0。上述过程重复K次,就可以得到K个任务切换时间。在测试过程中,需要在任务的源代码中插入测试控制代码并记录时
10、间。如下面代码1所示为任务TASK0插入测试控制代码后的伪代码执行流程。代码1/ 任务TASKO/插入代码开始TaskRcsume(TASKl);Task GetTime(TASKl);Task S uspcnd( SELF);Save(Tb(TASK0Ta(TASKO);/保存TaskO与Taskl两任务网的切换时闾;切换任务切换任务发送侑垮st开刊计mH激活新任务Taskl:/获取新任务T网kl的激活时间:H挂起当前任务Task。;/进入循坏体更复执行K次;Task_Gefnmc(Tb(TASKO);/茯收任务 Task。运行的时问:TaskR esume(TAS K 1 );Task_G
11、etTime(Ta(TASK 1 );TaskSuspend(SELF);H激活任务Task I;H获取任务Taskl激活的时间:拜起当前任Taskl.-/捅入代码结束2.任务抢占时间测试测试设计说明:测试项为抢占式的任务调度时间,大小取决于低优先级任务向高优先级任务切换所需要的时间开销。系统在进行任务抢占的时候,先区分出任务优先级的大小,找到优先级高的就绪事件,当发生任务切换时,高优先级的任务先被响应,这里抢占时间就已经把任务切换时间包含在内。该测试中包含5个由高到低不同优先级的任务,各个任务在执行过程中会将自己的计 数器加1。在测试开始时,只有优先级最低的任务处于就绪,其它任务都被挂起。优
12、先级最 低的任务先唤醒优先级次低的任务被抢占,这样依次抢占下去后,最高优先级的任务获的CPU使用权后又将自己挂起, 次高优先级的任务也将自己挂起,到最后优先级最低任务又获得CPU使用权,一个新的循环又开始。图3.2是测试3的运行示意图:countLCountCountLCountICountnResunenResumeResumeResumeSuspendLooprTaskOSuspendLoopTaskl SuspendL8prTask2SuspendLgpITa5k3Loop图3.2抢占式的任务调度测试3.中断管理性能测试测试设计说明:定义中断处理延退时间是系统中断发生到中断服务程序中首条
13、指令开始 运行之间的间隔所花费的时间。在测试过程中,为了能够测试系统中断延退时间的最差结果,可以选择一些如系统调用等对中断延退有比较大影响作用的一系列因素,并使中断服务程序绑定其对应的中断号,最后在程序的适当位置插入测量控制代码。如下面代码2所示为一个 用于测量中断延退的测试负载的伪代码示例。代码代码 2/中断服务程序中断服务程序TasGetlLmeTb); /获取开始执行中断服务程序的时间获取开始执行中断服务程序的时间 t -Tb-Ta;计计算中断延瑕的大小,用表算中断延瑕的大小,用表示示save(i); 保存保存中断延退时间中断延退时间任任* * TASKi的开始的开始 插入代码开始插入代
14、码开始Task GctTime(Ta; /获取中断服备请求的时间获取中断服备请求的时间/产生一次中断产生一次中断H H插入代码始束插入代码始束代码说明:代码2中函数call_init是用于生成系统中断, 实际过程中通常也采用软中断的方式。 这里我们假设Ta是系统中断请求开始的时间,Tb是系统中断服务程序被调用进行的时间,从而Tb-Ta的时间差就是中断延退。4.信号混洗时间测试测试说明:IPC机制性能测试主要测试以下时间:创建一个同步/互斥对象的时间,删除一个同步/互斥对象的时间,获取一个同步 /互斥对象的时间,释放一个同步/互斥对象的时间。获取/释放信号量通常指从释放信号量到等待该信号量被重新激活所需要的时间间隔。测试 过程中,设计一个任务TASK1 ,该任务通过不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 潮州供热可行性研究报告
- 药厂液体制剂监控员工作总结模版
- 预防呼吸道传染病
- 学前儿童发展 课件 第12章 学前儿童社会性的发展
- 妇幼健康计划-妇幼健康计划总结模版
- 业务员毕业生实习总结模版
- 2025年护士年度个人工作总结模版
- 大学生职业规划大赛《生物科学专业》生涯发展展示
- 六班级的上学期美术组工作总结模版
- 英格玛国企面试题目及答案
- 2025年浙江省杭州市上城区中考数学一模试卷
- 营业执照共用协议书范本
- 2025年北京朝阳区高三二模高考英语试卷试题(含答案详解)
- 转炉炼钢装入制度课件
- 【审计工作底稿模板】FK长期借款
- arcgis网络分析.
- 国家最新特种设备目录
- 轧辊表面磨削振纹和螺旋纹的控制
- 沥青混合料厂家驻厂管理程序2
- 初二物理测量小灯泡电功率实验报告
- 毽球盘踢教学设计
评论
0/150
提交评论