首页 新闻资讯 技术资料 论坛 网站地图
安防产品 电源系列 IC设计 应用产品 传感控制 数控系统 开发工具
电子元器件搜索:
IC库存(8958万) PDF资料(329万) IC价格 IC求购 资讯 技术资料
维库电子市场网是知名的电子元器件交易网站, 为电子生产企业提供IC库存和技术资料查询服务。
位置: 首页 > 详细信息
  嵌入式操作系统实时性比对与评价(上)
出处:嵌入式技术网 时间: 2007-11-15

摘要 以影响嵌入式操作系统实时性的一系列相关指标为研究对象,以比对实验平台为基础,提出一种全新的基于CPLD的指标评测方法;并以WinCELinux操作系统为测试对象,进行了比对测试评价。最后结合两种操作系统的体系结构、调度策略等特征对测试结果进行了分析。

关键词 RTOS 比对评测 实时性 比对实验平台

引言

  嵌入式实时操作系统(RTOS,Real Time Operating System)为嵌入式应用的开发者提供了系统级的支撑环境,极大地简化了嵌入式软件系统的设计过程,成为操作系统中一个非常重要的分支。随着RTOS在嵌入式系统中的大量应用,RTOS的选择与评价成为了一个重要的问题。一个RTOS的评价要从很多角度进行,如体系结构、API的丰富程度、网络支持、可靠性等。其中,实时性是RTOS评价的最重要的指标之一,实时性的优劣是用户选择操作系统的一个重要参考。评价一个操作系统的实时性应该着重考察它的哪些指标,以及如何进行测试,是本文着重讨论的问题。

操作系统实时性的主要指标

  严格地说,影响嵌入式操作系统实时性的因素有很多。限于篇幅,本文只列出影响操作系统实时性的6个主要因素。

1  常用系统调用平均运行时间
  即系统调用效率,是指内核执行常用的系统调用所需的平均时间。可以参考POSIX标准,按照进程、线程、同步原语(信号量和互斥体等)、文件、内存、中断处理、时钟、时间分类,选取部分常用的系统调用进行测试,如建立/删除进程与线程、建立/删除文件、读/写文件、设置/得到优先级、创建/释放信号量、分配/释放内存空间、加载/卸载中断处理模块等。选取的样本不可能十分完整,在这里只是作为一种方法提出,仅供参考。

2  任务切换时间
  任务切换时间是指事件引发切换后,从当前任务停止运行、保存运行状态(CPU寄存器内容),到装入下一个将要运行的任务状态、开始运行的时间间隔,如图1所示。

740)this.width=740" border=undefined>
任务切换时间

  需要注意的是,要使任务进行切换,需要一定的事件触发。通常,这个事件是同步原语,使任务切换,并且过程可被监控。但是,同步原语的操作会带来一定的系统开销,而且不同操作系统的各种同步原语操作效率不同。因此,对被测操作系统使用其支持的各种同步原语进行任务切换测试,选取各自用时最少者——这里称为最佳原语,作为测量值,以使误差最小。经过对MutexSemaphoreCritical SectionSVR5 SemaphorePOSIX Semaphorepthread_mutex的测试之后,测得WinCE的最佳原语为Critical Section,而Linux的最佳原语为 pthread_mutex

3  线程切换时间
  线程是可被调度的最小单位。在嵌入式系统的应用系统中,很多功能是以线程的方式执行的,所以线程切换时间同样是考察的一个要点。测试方法及原理与任务切换类似,不再介绍。

4  任务抢占时间
  任务抢占时间是高优先级的任务从正在运行的低优先级任务中获得系统控制权所消耗的时间,如图2所示。

740)this.width=740" border=undefined>
任务抢占时间

5  信号量混洗时间
  信号量混洗时间指从一个任务释放信号量到另一个等待该信号量的任务被激活的时间延迟,如图3所示。

740)this.width=740" border=undefined>
信号量混洗时间

  在嵌入式系统中,通常有许多任务同时竞争某一共享资源,基于信号量的互斥访问保证了任一时刻只有一个任务能够访问公共资源。信号量混洗时间反映了与互斥有关的时间开销,是RTOS实时性的一个重要指标。

6  中断响应时间
  中断响应时间是指从中断发生到开始执行用户的中断服务程序代码来处理该中断的时间。中断处理时间通常不仅由RTOS决定,而且还由用户的中断处理程序决定,所以不应包括在测试框架之内。

  针对这些指标的部分或全部,已经有了为数不少的测试方法和测试程序,例如Rhealstone方法,大量的benchmarklmbenchHbenchOS等)。但这些测试方法及程序或者是由于计时方法的不足导致计时精度不够,或者是由于需要过多的专业硬件设备(如逻辑分析仪、示波器,等),使得测试要求过高,测试条件不易达到,均存在着一定的缺陷。针对这些问题,本文中提出了一种基于CPLD与目标系统结合的测试方法,较好地解决了这些问题。

比对平台及测试方法

2.1  比对测试平台介绍

  为了更好地对嵌入式系统中各层次的软件系统(包括操作系统、Bootloader、用户应用程序以及其他系统程序)进行评测,我们设计并实现了双嵌入式系统比对实验平台。实验平台以2块研华PCM7230开发板(基于PXA255处理器)和1CPLD器件为核心,开发板上运行被测操作系统,保证了测试环境的完全相同;CPLD器件负责产生中断负载、双系统的同步置位/复位触发与计时功能,保证了测试结果的精确,并且易于比对、观察,突出评测过程比对的特点。图4是比对测试平台的逻辑结构。

740)this.width=740" border=undefined>
比对测试平台的逻辑结构

  下面列出的是比对平台中主要的硬件型号与种类。

  ◇ CPUXScale 400 Hz)。
  时钟:HT1381
  ◇ ROM1 MB AMD
  ◇ SDRAM64 MB
  ◇ Flash32 MB
  ◇ I/O资源: 包含RS232COM14),RS485COM5),2USB Host1USB ClientEthernet DM9000.10/100 basedT,以及AMI120扩展总线接口。

2.2  测试与计时方法

  在测试过程中,采用当前比较流行的基准测试程序法(benchmark)对上述实时性指标进行评测。针对每一指标,编写相应的测试程序。在测试过程中,一个最基本原则是尽可能地减小测量误差,采用多种策略减小其他因素对测试的影响,例如关闭内核中部分不需要的进程,以缩短内核占用CPU时间;禁用数据Cache和指令Cache,以避免高速缓存对RTOS相应指标的影响;对同一指标进行高频度重复测试,统计其最大值、最小值和平均值等,得到尽可能客观的结果。

  与通常的基准测试方法相比较,本测试方法的特点是采用CPLD器件与测试程序相结合的方法,利用CPLD与开发板上丰富的引脚资源,通过CPLD进行编程,可方便地对被测试系统产生中断负载、同步触发,而且不会增加被测系统的额外负载。同时,减少系统调用的次数,使测试结果更加精确,更接近内核自身的运行值。


关闭】 【打印
相关专题  
医疗电子
工业控制
电源系列
软件开发
测试测量
数控系统
嵌入式硬件
计算机外设
军工/航空航天
汽车电子
嵌入式软件
AD/DA
接口电路
传感控制
综合电子技术
嵌入式系统
IC设计
SOPC
开发工具
应用产品
安防产品
消费电子
CPLD/FPGA
存储器
通信产品

© 2007 百斯嵌入式开发网 网站地图