μC/OS-II实时性能测试与研究
实时性是指系统能够在限定的时间内完成任务并对外部的异步事件作出及时响应。在大多数工业控制中,对实时性的要求非常高。
实时操作系统是能够满足实时系统中实时任务的处理响应时间要求的操作系统。实时操作系统是事件驱动(event-driven)的,能对来自外界的作用和信号在限定的时间范围内作出响应。它强调的是实时性、可靠性和灵活性,与实时应用软件相结合成为有机的整体,起着核心作用;由它来管理和协调各项工作,为应用软件提供良好的运行软件环境及开发环境。在多任务实时系统中,必然由实时操作系统来对实时任务进行管理。
μC/OS-II是一种结构小巧、具有可剥夺实时内核的实时操作系统。其内核提供任务调度与管理、时间管理、任务间同步与通信、内存管理和中断服务等功能。
现在许多工业控制系统用到了μC/OS-II,为了对其实时性有更深入具体的了解,本文对μC/OS-II的实时性进行了测试和分析,在实时系统设计中具有现实意义。
1 μC/OS-II实时性能测试指标
衡量嵌入式实时操作系统的好坏一般主要参考以下主要性能指标参数:任务切换时间、中断响应时间、任务响应时间、任务创建/删除时间、交替信号量时间、取得/释放信号量时间、交替消息队列传输时间等。本文仅对前2个最重要的指标参数进行测试分析。
1.1 任务切换时间
任务切换时间(Task Content Switch Time)可以反映出RTOS执行任务的速度。
μC/OS-II使用的是占先式内核,以保证系统的响应时间。每个任务都被赋予一定的优先级,最高优先级的任务一旦就绪,就能得到CPU的控制权。当一个运行着的任务通过信号量等机制使一个更高优先级的任务进入了就绪态,μC/OS-II会进行任务调度。这时当前任务的CPU使用权就要被剥夺,那个高优先级的任务会立刻得到CPU的控制权。
每个任务都有自己的一套CPU寄存器和栈空间。任务的切换实际上就是CPU寄存器内容的切换。CPU内部寄存器越多,额外负荷就越重。
在任务切换之前还需要在就绪表中查找出优先级最高的任务,它由任务调度函数OSSched()完成,是比较花费时间的。因为这个函数有固定长度的语句,所以它的执行时间是常数,与应用程序建立了多少个任务没有关系。
所以任务切换时间取决于CPU有多少寄存器要出入栈,以及相关调度函数的执行速度。
1.2 中断响应时间
中断响应时间(Interrupt Response Time)可以反映出RTOS对外界变化的反应速度,是指从中断发生起到执行中断处理程序的第一条指令所用的时间。它是衡量嵌入式实时操作系统实时性能的最主要、最具有代表性的性能指标。
相关文章
- 2024-03-20寄生虚反射对外差干涉椭偏测量的影响
- 2024-08-02基于干涉原理的高精度直线度误差测量
- 2022-05-24基于现场总线监测系统的PLC控制制造系统
- 2024-06-07电流变液减振器在抑制深孔切削颤振上的研究
- 2024-04-10极紫外望远镜各通道夹角的测量



请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。