一种实时操作系统的性能评估方法技术方案

技术编号:7599801 阅读:292 留言:0更新日期:2012-07-22 01:45
本发明专利技术涉及一种实时操作系统的性能评估方法,包括以下步骤:在被监测机上建立处理器性能监测单元的软件配置框架;在此框架的基础之上,建立关联实时任务或操作系统的性能事件机制,对实时任务与实时操作系统的各项性能指标进行监测,得到性能数据;将性能数据通过监测通信协议栈发送给远端监测机;在远端监测机上建立性能数据分析软件,以软示波器或图表的方式显示出性能数据。本发明专利技术方法能够对处理器周期数、Cache丢失数、Cache命中数、总线周期数、上下文切换次数以及处理器负载等系统参数进行全面评估和可视化的分析,可将上述性能指标关联到每一个具体的实时任务或操作系统。

【技术实现步骤摘要】

本专利技术涉及一种操作系统性能评估技术,具体的说是。
技术介绍
在嵌入式领域,实时操作系统的应用非常广泛。它是许多嵌入式设备的软件基础, 其性能直接影响到嵌入式设备的整体性能与可靠性。因此对实时操作系统的性能监测与分析非常重要。同时,在实时操作系统的研发过程中,系统的性能监测与分析是研发人员的重要参考指标,是对系统进行评价以及进一步优化的依据。对实时操作系统的性能分析,需要在系统的运行期间实时记录下实时任务与操作系统内核的各种性能参数,比如处理器周期数,Cache丢失数,Cache命中数,总线周期数,上下文切换次数,处理器负载等等。同时,还需要对这些数据进行全面、可视化的监视与分析。目前,对于常用的开源实时操作系统而言,如RTAI,并没有一款能够满足上述需求的性能分析与监测工具。而Linux系统下的性能监测软件,如Perfmon、xperf等工具无法直接应用于实时任务的监测。
技术实现思路
针对现有技术中对实时操作系统的性能评估存在缺乏全面、可视化的监视与分析工具等不足之处,本专利技术要解决的技术问题是提供一种网络化,并且能够全面、可视化的实时操作系统的性能评估方法。为解决上述技术问题,本专利技术采用的技术方案是 本专利技术实时操作系统的性能评估方法包括以下步骤 在被监测机上建立处理器性能监测单元的软件配置框架;在此框架的基础之上,建立关联实时任务或操作系统的性能事件机制,对实时任务与实时操作系统的各项性能指标进行监测,得到性能数据; 将性能数据通过监测通信协议栈发送给远端监测机;在远端监测机上建立性能数据分析软件,以软示波器或图表的方式显示出性能数据。所述建立处理器性能监测单元的软件配置框架的方法为基于被监测机上处理器提供的性能监测单元,建立初始化、配置与读取性能监测单元的软件框架。建立关联实时任务或操作系统的性能事件机制的方法为为被监测的实时任务或操作系统设置性能事件,将性能监测单元作为性能事件的数据源,在关键的时间点上捕获数据并存储在该性能事件对应的数据结构中。所述监测通信协议栈自动封装性能数据与采集数据时的时间戳,并利用操作系统提供的以太网协议栈,将封装后的数据发送给远端监测机。所述监测通信协议栈能够自适应数据采样频率的变化,当采样频率过高时,将多组数据封装在一起发送。所述监测通信协议栈可以在实时任务上下文中发送以太网数据。所述性能数据分析软件对接收到的性能数据包进行解析,以软示波器或图表的方式实时显示出性能数据,并将数据存储在日志文件中,还可以对数据进行统计分析。本专利技术具有以下有益效果及优点1.本专利技术方法能够对处理器周期数、Cache丢失数、Cache命中数、总线周期数、上下文切换次数以及处理器负载等系统参数进行全面评估和可视化的分析,可将上述性能指标关联到每一个具体的实时任务或操作系统;2.本专利技术方法能够将获得的性能数据,通过监测协议栈发送给位于远端监测机上的性能分析软件,由性能分析软件对监测数据进行图形化的显示和统计分析。附图说明图1为本专利技术方法流程图; 图2为性能数据分析软件的界面。具体实施例方式本专利技术实时操作系统的性能评估方法如图1所示,通过以下步骤实现 在被监测机上建立处理器性能监测单元的软件配置框架;在此框架的基础之上,建立关联实时任务或操作系统的性能事件机制,对实时任务与实时操作系统的各项性能指标进行监测,得到性能数据,如实时任务的Cache丢失率,所占用的总线周期等;将性能数据通过监测通信协议栈发送给远端监测机;在远端监测机上建立性能数据分析软件,以软示波器或图表的方式显示出性能数据。所述建立处理器性能监测单元的软件配置框架的方法为基于被监测机上处理器提供的性能监测单元(Performance Monitor Unit),建立初始化、配置与读取性能监测单元的软件框架。性能监测单元是处理器提供的一种硬件部件,它已被包括Pentium、PowerPC在内的多种处理器体系结构所采用。性能监测单元一般包括性能事件监测器与性能事件计数器。典型的,Pentium 4处理器的性能监测单元具有48个事件监测器与18个事件计数器。 它能够监测48种性能事件,并能够同时记录18个性能事件的采样数据。性能监测单元能够区分不同特权级别下的性能事件计数,即区分出用户程序对应的性能事件的采样值与操作系统对应的性能事件的采样值。由于本专利技术主要针对开源实时操作系统RTAI进行性能监测,而RTAI中所有的硬实时任务均运行在内核空间,其特权级别为0,因此我们不关心特权级别为1-3时的性能事件采样。性能监测单元具有若干个与性能事件采样相关的寄存器,称为Model Specific Register(MSR)0 MSR可以分为2类,一类是性能事件选择寄存器,一类是性能监测计数器。 这两类寄存器是成对使用的,通过性能事件选择寄存器对计数器进行配置,设置相应的属性,如所监测事件的种类,事件的特权级别等。在对性能事件选择寄存器进行初始化以后, 便可以通过性能监测计数器获取相应的采样值。性能监测单元中的性能事件分为多种,如固定功能的性能事件,面向体系结构的性能事件,以及面向模型的性能事件等。本专利技术为这些性能事件提供了一个统一的配置方法与数据获取机制。用户可以通过统一的软件接口配置性能事件选择寄存器。并且通过统一的软件接口读取性能事件计数器中的值。在本专利技术中,将性能事件分为硬件相关的性能事件,实时操作系统内核相关的性能事件,Cache相关的性能事件等3种类型,并提供一个对这三种性能事件进行配置的软件接口。为了描述不同的性能事件,我们设置了一个描述性能事件的数据结构rt_perf_ event,该数据结构记录了性能事件的属性,如该事件的类型,标识,采样周期,采样类型等。 每一个性能事件均对应一个rt_perf_event结构。用户可以通过接口 rt_perf_event_init (int type_id, int event_id, int cpu_ id)申请一个特定的性能事件,该函数返回一个指向该事件对应的rt_perf_event结构的指针。结构体rt_perf_event还包含了与该性能事件相关的操作,如counter_update () 操作,可以将性能事件计数器中的值读取到该结构自身的计数器中。为了便于管理性能事件,本专利技术将所有已申请的性能事件均存放在一个全局队列中。并提供相应的查找函数,用户可以利用此函数方便的找到一个已经存在的性能事件。综上所述,处理器性能监测单元的软件配置框架以数据结构rt_perf_event为核心,在申请该数据结构的同时,完成了对性能事件监测单元的配置。同时,通过此结构可以获知该性能事件的属性,并对性能监测单元进行读取、设置属性等必要的操作。建立关联实时任务或操作系统的性能事件机制的方法为为操作系统或被监测的实时任务设置性能事件,将性能监测单元作为性能事件的数据源,在关键的时间点上捕获数据并存储在性能事件相应的数据结构中,从而记录下每一个实时任务的性能数据,或与操作系统相关的性能数据。性能事件机制的主要功能是将上述的性能事件与具体的实时任务或操作系统绑定在一起,从而获知每一个实时任务对应的性能参数。为了实现上述目的,本专利技术中设置了一个数据结构rt_taSk_eVent,该结构包括一个指向rt本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:于东秦承刚吴文江董磊
申请(专利权)人:中国科学院沈阳计算技术研究所有限公司沈阳高精数控技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术