需要注意的是,应用系统的实时性并不完全由操作系统的实时性决定,系统的硬件结构、软件驱动和应用程序等都会影响到整个系统的实时性。另外,Windows Embedded CE 6.0虽然是实时操作系统,但它也提供了非实时的工作环境,如果定制系统时添加了非实时的相关组件,也会影响系统的实时性。
Platform Builder 6.0提供的Remote Kernel Tracker工具,可以帮助我们观察系统线程的执行情况。图6和图7所示是采用高电平触发,有1秒Sleep的状态截图,第一个框表示线程执行到Sleep(1000),第二个框表示等待事件被触发,红色的虚线表示线程处于阻塞的状态。
图6 高电平触发,IST中有延时的状态,Sleep(1000)
图7 高电平触发,IST中有延时的状态,等待事件的触发
以上通过测量中断延迟时间,验证了Windows Embedded CE 6.0的实时性。当然,实时操作系统的定义严格,判断一个操作系统是否为实时操作系统,还有其他一些因素,如系统的中断管理机制、线程管理机制、同步对象的支持、内存的管理等等。不过,这些因素在Dedicated Systems Experts公司的RTOS评估当中都有完美表现,我们也可以放心使用了。