当前位置: 首页 > article >正文

RTOS性能测试:R-Rhealstone

参考:
https://cloud.tencent.com/developer/article/2381780
https://github.com/RiceChen0/r-rhealstone
https://www.cnblogs.com/fozu/p/16016426.html

Rhealstone简介

Rhealstone是系统实时性的测量基准之一,Rhealstone性能基准程序是实时系统的六个关键操作的时间量进行操作,这六个关键操作是:上下文切换时间、任务抢占时间、中断延迟时间、信号量混洗时间、死锁解除时间、信息传输延迟。这六项操作作为Rhealstone的六个组件,每个组件被单独测量。然后将经验结果合并为单一的测量值,即是Rhealstone值。

R-Rhealstone框架

设计R-Rhealstone框架的目的:为了能让对比的系统实时性的测量的一致性,必须保证同一个环境,解除差异性带来测量干扰,所以R-Rhealstone框架提供了操作系统适配层,统一适配不同操作系统的各个接口,目的可以达到上层调用层次一致。

上下文切换时间

描述:
上下文切换时间也称任务切换时间(task switching time),定义为系统在两个独立的、处于就绪态并且具有相同优先级的任务之间切换所需要的时间。它包括三个部分,即保存当前任务上下文的时间、调度程序选中新任务的时间和恢复新任务上下文的时间。切换所需的时间主要取决于保存任务上下文所用的数据结构以及操作系统采用的调度算法的效率。产生任务切换的原因可以是资源可得,信号量的获取等。任务切换是任一多任务系统中基本效率的测量点,它是同步的,非抢占的,实时控制软件实现了一种基于同等优先级任务的时间片轮转算法。影响任务切换的因素有:主机CPU的结构,指令集以及CPU特性。
任务切换过程增加了应用程序的额外负荷。CPU的内部寄存器越多,额外负荷就越重。任务切换所需要的时间取决于CPU有多少寄存器要入栈。实时内核的性能不应该以每秒钟能做多少次任务切换来评价,RTOS中通常是1微秒左右。
流程:
原理:创建两个同等优先级的任务,两个任务相互切换多次,最后求平均值。
注意:①需要减去多次切换的循环时间(loop_overhead);②需要减去主动让CPU执行时间(dir_overhead)
时间计算公式:
total_time:多次上下文切换总时间
loop_overhead:多次切换的循环时间
iterations:切换的次数
dir_overhead:调用让出CPU接口的时间


http://www.kler.cn/a/369300.html

相关文章:

  • Vue3中element-Plus、Axios、router相关配置
  • 如何将markdown文件转换为pdf
  • nfs作业
  • 【c语言测试】
  • 全星魅 北斗三号船载终端的优势和领域利用
  • 关于嵌入式学习的一些短浅经验
  • 从可逆计算看低代码
  • C语言复习总结超详细版(1)小白转身即变 有实例超级详细
  • 多态的体现
  • 【数据结构与算法】第5课—数据结构之双链表
  • 网络原理之 TCP解释超详细!!!
  • 面试域——面试系统工程
  • Allegro:强大的文本到视频模型
  • 685. 冗余连接 II
  • [LeetCode] 784. 字母大小写全排序
  • 聚合值和非聚合值比较【SQL】
  • 基于SpringBoot的高考志愿智能推荐系统的设计与实现
  • Stable diffusion inference 多卡并行
  • FAQ-为什么交换机发给服务器的日志显示的时间少8小时
  • 易考八股文之如何对数据库进行优化(优化不少于十条)
  • 【学术会议论文投稿】“从零到一:使用IntelliJ IDEA打造你的梦幻HTML项目“
  • Android 原生开发与Harmony原生开发浅析
  • 压缩传感革命——自动验证算法证明了神经网络的准确性
  • ETL、ELT和反向ETL都有什么不同?怎么选择?
  • 基于vue框架的的高校学生资助信息系统3b240(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
  • Linux服务器自动化批量安装IB网卡驱动