评价一个实时操作系统的优劣可以用一下几个技术指标来衡量。
1)任务调度算法:一个实时操作系统的任务调度算法,在很大程度上决定了其系统实时性和其多任务调度能力。常用的任务调度算法有优先级调度策略和时间片轮转调度策略;调度的方式可分为抢占式、不可抢占式和选择可抢占式等;常用的调度算法有Rate Monotonic(发生率单调)、优先级与发生率成正比、Lottery Scheduler(彩票调度)等。
2)上下文切换时间:指当处理器的控制权有运行的任务转移到另一个就绪任务时所消耗的系统时间。RTOS的上下文切换时间可以有以下公式算出:上下文切换时间=系统保持当前任务的状态所需时间+从就绪任务表中查找最高优先级任务的时间+将优先级最高的就绪任务转到运行态所需要的时间。保护和恢复上下文的方法很大程度上依赖于处理器的架构,所以衡量一个实时操作系统是否适合在某种体系结构的处理器上运行,上下文切换时间是一个重要的衡量指标。
3)系统确定性:在实时操作系统中,在一定的条件下,系统调用运行的时间说可以预测的,但这并不意味着无论系统的负载如何,所有的系统调用都总是执行一个固定长度的时间,而是指系统调用的最大执行时间可以确定。
4)最小内存开销:在某些领域,如工业控制领域,基于降低成本的考虑,其内存的配置一般都不大。因此在实时操作系统的设计中,其占用内存大小是一个很重要的衡量指标。同时,这也是RTOS设计与其他操作系统设计的明显区别之一。
5)最大中断禁止时间:当操作系统在执行某些系统调用时,是需要关闭中断响应的,即中断被屏蔽,只有当操作系统重新回到用户态时才重新响应外部中断请求,这一过程所需的最大时间就是最大中断禁止时间。由此可以看出操作系统的最大中断禁止时间越长,系统丢中断的可能性越大,所以最大中断禁止时间成为衡量一个操作系统实时性的重要指标。