实时系统性能测试指标_第1页
实时系统性能测试指标_第2页
实时系统性能测试指标_第3页
实时系统性能测试指标_第4页
实时系统性能测试指标_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1 Rhealstone Rhealstone 是系统实时性的测量基准之一 Rhealstone 方法对 ERTOS 中六个关键操 作的时间量进行测量 并将它们的加权和称为 Rhealstone 数 这六个时间量如下 1 任务切换时间 task switching time 也称上下文切换时间 定义为系统在两个独立的 处于就绪态并具有相同优先级的任务之间切换所需要的时间 它包括三个部分 即保存当 前任务上下文的时间 调度程序选中新任务的时间和恢复新任务上下文的时间 切换所需 的时间主要取决于保存任务上下文所用的数据结构以及操作系统采用的调度算法的效率 2 抢占时间 preemption time 即系统将控制从低优先级的任务转移到高优先级任务所 花费的时间 为了对任务进行抢占 系统必须首先识别引起高优先级任务就绪的事件 比 较两个任务的优先级 最后进行任务的切换 所以抢占时间中包括了任务切换时间 3 中断延迟时间 interrupt latency time 指从中断第一条指令所持续的时间间隔 它由 四部分组成 即硬件延迟部分 通常可以忽略不计 ERTOS 的关中断时间 处理器完成当 前指令的时间以及中断响应周期的时间 4 信号量混洗时间 semaphore shuffling time 指从一个任务释放信号量到另一个等待该 信号量的任务被激活的时间延迟 在 ERTOS 中 通常有许多任务同时竞争某一共享资源 基于信号量的互斥访问保证了任一时刻只有一个任务能够访问公共资源 信号量混洗时间 反映了与互斥有关的时间开销 因此也是衡量 ERTOS 实时性能的一个重要指标 5 死锁解除时间 deadlock breaking time 即系统解开处于死锁状态的多个任务所需花费 的时间 死锁解除时间反映了 RTOS 解决死锁的算法的效率 6 数据包吞吐率 datagram throuShput time 指一个任务通过调用 ERTOS 的原语 把 数据传送到另一个任务去时 每秒可以传送的字节数 2 关键的性能指标分析关键的性能指标分析 一个实时操作系统的实时性能的主要评测指标包括上下文切换时间 抢占时间 中断延迟 时间 信号量混洗时间 具体含义如下 1 上下文切换时间 上下文切换时间也称任务切换时间 task switching time 定义为系统在两个独立的 处于 就绪态并且具有相同优先级的任务之间切换所需要的时间 它包括三个部分 即保存当前 任务上下文的时间 调度程序选中新任务的时间和恢复新任务上下文的时间 切换所需的 时间主要取决于保存任务上下文所用的数据结构以及操作系统采用的调度算法的效率 产 生任务切换的原因可以是资源可得 信号量的获取等 任务切换是任一多任务系统中基本 效率的测量点 它是同步的 非抢占的 实时控制软件实现了一种基于同等优先级任务的 时间片轮转算法 影响任务切换的因素有 主机 CPU 的结构 指令集以及 CPU 特性 任务切换过程增加了应用程序的额外负荷 CPU 的内部寄存器越多 额外负荷就越重 任 务切换所需要的时间取决于 CPU 有多少寄存器要入栈 实时内核的性能不应该以每秒钟 能做多少次任务切换来评价 RTOS 中通常是1微秒左右 Figure 1 Context Switch Time T1 TIME START FOR FUNCTION OS TASK SW 任务切换宏 T2 TIME END FOR FUNCTION OS TASK SW CST T2 T1 2 抢占时间 preemption time 抢占时间即系统将控制权从低优先级的任务转移到高优先级任务所花费的时间 为了对任 务进行抢占 系统必须首先识别引起高优先级任务就绪的事件 比较两个任务的优先级 最后进行任务的切换 所以抢占时间中包括了任务切换时间 它和任务切换有些类似 但是抢占时间通常花费时间更长 这是因为执行中首先要确认唤 醒事件 并评估正在运行的任务和请求运行的任务的优先级高低 然后才决定是否切换任 务 实质上 所有的多处理任务可以在执行期间动态分配优先级 所以 抢占时间也是衡 量实时性能的重要指标 Figure 2 2 Preemption Time PT T2 T0 3 中断延迟 Interrupt Latency 中断延迟时间是指从接收到中断信号到操作系统做出响应 并完成进入中断服务例程所需 要的时间 多任务操作系统中 中断处理首先进入一个中断服务的总控程序 然后才进入 驱动程序的 ISR 中断延迟时间 最大关中断时间 硬件开始处理中断到开始执行中断服务例程第一条指令 之间的时间 硬件开始处理中断到开始执行中断服务例程的第一条指令之间的时间由硬件决定 所以 中断延迟时间的长短主要取决于最大关中断的时间 硬实时操作系统的关中断时间通常是 几微秒 而 Linux 最坏可达几毫秒 Figure 2 3 Interrupt Latency IL Max Ta Tb Tc 4 信号量混洗时间 信号量混洗时间 semaphore shuffling time 是指从一个任务释放信号量到另一个等待该 信号量的任务被激活的时间延迟 在 RTOS 中 通常有许多任务同时竞争某一共享资源 基于信号量的互斥访问保证了任一时刻只有一个任务能够访问公共资源 信号量混洗时间 反映了与互斥有关的时间开销 因此也是衡量 ERTOS 实时性能的一个重要指标 Figure 2 4 Semaphore Shuffling Time SST T0 T1 3 测试方法测试方法 1 任务切换时间测试 测试设计说明 测试项为协同式的任务调度时间 它是指具有相同优先级并且相互独 立的两个就绪状态的人物之间相互切换所花费的时间开销 它主要有保存当前任务上下文 的时间 调度程序选中新任务的时间和恢复新任务上下文的时间这三部分组成 图4 2给出 了两个任务切换过程的示意图 图3 1两个任务切换过程的示意图 这里假设测试任务用TASK表示 TASK i 表示第i个正在运行的任务 测试过程中为了 能够尽量减少系统的误差 这里我们采取给系统中设置多个任务 记为任务0到N 1 同时 各个任务间的切换是从TASK 0 开始 到TASK 1 这样一直切换下去 最后再从 TASK N 1 切换到最开始的任务TASK 0 上述过程重复K次 就可以得到K个任务切换时间 在测试过程中 需要在任务的源代 码中插入测试控制代码并记录时间 如下面代码1所示为任务TASK 0 插入测试控制代码后 的伪代码执行流程 2 任务抢占时间测试 测试设计说明 测试项为抢占式的任务调度时间 大小取决于低优先级任务向高优先 级任务切换所需要的时间开销 系统在进行任务抢占的时候 先区分出任务优先级的大小 找到优先级高的就绪事件 当发生任务切换时 高优先级的任务先被响应 这里抢占时间 就已经把任务切换时间包含在内 该测试中包含 5 个由高到低不同优先级的任务 各个任务在执行过程中会将自己的计 数器加1 在测试开始时 只有优先级最低的任务处于就绪 其它任务都被挂起 优先级最 低的任务先唤醒优先级次低的任务被抢占 这样依次抢占下去后 最高优先级的任务获的 CPU使用权后又将自己挂起 次高优先级的任务也将自己挂起 到最后优先级最低任务又 获得CPU 使用权 一个新的循环又开始 图3 2 是测试3 的运行示意图 图 3 2 抢占式的任务调度测试 3 中断管理性能测试 测试设计说明 定义中断处理延迟时间是系统中断发生到中断服务程序中首条指令开 始运行之间的间隔所花费的时间 在测试过程中 为了能够测试系统中断延迟时间的最差 结果 可以选择一些如系统调用等对中断延迟有比较大影响作用的一系列因素 并使中断 服务程序绑定其对应的中断号 最后在程序的适当位置插入测量控制代码 如下面代码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

提交评论