现在的位置: 首页 > 综合 > 正文

实时操作系统的各项实时性能评测指标

2013年09月19日 ⁄ 综合 ⁄ 共 1285字 ⁄ 字号 评论关闭
一个实时操作系统的实时性能的主要评测标准和指标包括系统响应时间、上下文切换时间,中断延迟时间、中断响应时间、任务切换时间、调度器延迟时间,周期性抖动(jitter)等,具体的含义如下:

**系统响应时间就是系统发出处理要求到系统给出应答信号的时间。这是RTOS一个比较综合的性能指标。
**上下文切换时间是指执行多个任务时,系统发生任务切换,保存和恢复上下文的时间。当多任务内核决定运行另外的任务时,它保存正在运行任务的当前状态(Context),通常是CPU寄存器中的全部内容。这些内容保存在任务的当前状况保存区(Task’s Context Storage area),也就是任务自己的栈区之中。入栈工作完成以后,就是把下一个将要运行的任务的当前状况从该任务的栈中重新装入CPU的寄存器,并开始下一个任务的运行。这个过程叫做任务切换。任务切换过程增加了应用程序的额外负荷。CPU的内部寄存器越多,额外负荷就越重。做任务切换所需要的时间取决于CPU有多少寄存器要入栈。实时内核的性能不应该以每秒钟能做多少次任务切换来评价。RTOS中通常是1微秒左右
** 中断延迟时间是指从接受到中断信号到操作系统做出响应,并完成进入中断服务例程所需要的时间。多任务操作系统中,中断处理首先进入一个中断服务的总控程序(在Linux中是do_IRQ函数),然后才进入驱动程序的ISR。这里的中断服务例程指的是总控程序。中断延迟时间=最大关中断时间+硬件开始处理中断到开始执行中断服务例程第一条指令之间的时间。硬件开始处理中断到开始执行中断服务例程的第一条指令之间的时间由硬件决定,所以,中断延迟时间的长短主要取决于最大关中断的时间。硬实时操作系统的关中断时间通常是几微秒,而Linux最坏可达几毫秒。 
** 中断响应时间定义为从计算机接收到中断信号到操作系统作出响应,并完成切换转入用户中断处理程序(Interrupt Handler)的时间,即驱动程序ISR的时间。中断响应时间=关中断的最长时间 +保护CPU内部寄存器的时间+进入中断服务函数的执行时间 +开始执行用户中断处理程序的第一条指令时间。在硬RTOS中,这个时间通常比中断延迟多几微秒。
** 任务切换时间是指当一个事件引起更高优先级的任务就绪到这个任务开始运行之间的时间。当由于某种原因使一个任务退出运行时,RTOS保存它的运行现场信息、插入相应的队列、并依据一定的调度算法重新选择一个任务使之投入运行,这一过程所需要的时就是任务切换时间。产生任务切换的原因可以是资源可得,信号量的获取等。
**  调度抖动是指一个周期任务的周期间隔之间的变化。通常,实时应用以周期性任务的形式 ,即以一特定的周期被调度,并且在硬件定时器产生一个中断唤醒调度器时开始执行。虽然定时器中断可能发生的跟时钟一样有规律,但是许多不确定因素会导致调度器的运行时间变得不确定,导致接下来的任务的开始时间就会相应地变化,这个影响就叫调度抖动。抖动跟具体的应用紧密相关。
** 调度器延迟时间是指进行任务调度时,调度器所花费的时间。精简的调度程序和较短的上下文切换间将会获得较好的性能。

抱歉!评论已关闭.