由于很多商业和技术原因,Windows 2000、Windows XP和Windows XP Embedded操作系统越来越多被考虑用作为实时系统平台,应用在交通、医疗、工业自动化等行业领域。为满足硬实时系统严格的响应时间要求,美国IntervalZero公司(前身为Ardence公司)开发了RTX产品,在Windows平台上提供了一个实时子系统,这种方案不对Windows系统本身做任何修改,使我们既可获得微秒级的实时特性,又可完全利用Windows平台的优点。
● Windows操作系统市场占有率大,普及率高
● Windows平台拥有更强的性能、更低的价格
● 功能强大的图形化接口(GUI)支持
● 支持多种开发工具及应用程序
● 丰富的Win32应用程序接口
● 众多廉价的第三方硬件及驱动的支持
Windows操作系统的劣势
● 线程优先级太少
● 隐含的不确定的线程调度机制
● 优先级倒置
● 缺乏直接对IO设备进行访问的能力
● 定时器精度差,漂移现象严重
结论
● Windows平台是商业化通用系统应用开发的理想平台,但是Windows不是一个实时操作系统!不适合实时系统的开发
RTX + Windows OS = Windows下的实时操作系统
强强联合:在保留Windows高级特性的同时实现硬实时处理能力的软件解决方案
---
飞行模拟器、转台、机器人、导弹发射装置、火炮和各种复杂的仿真设备都是典型的既有图形又要求实时控制的应用
---
通用操作系统 | 实时操作系统 |
● 通用操作系统重视应用程序的平均性能表现 | ● 实时操作系统更重视应用程序的个体性能表现 |
● 系统的消息调度及外设中断机制不具有实时性 | ● 对所有应用程序及系统资源直接控制 |
● 用户可用的优先级有限 | ● 所有线程优先级都可由用户控制 |
● 额外后台程序,如系统服务、病毒程序和磁盘管理程序等 | ● 无 |
---
DOS 6.22
● 单任务实时系统,人机交互界面差、没有网络通信功能
---
VxWorks
● 多任务实时系统,图形功能弱,对开发人员技术要求高,项目开发周期长
---
Windows+RTX
● 多进程、多线程的实时操作系统,具有开放式架构;继承Windows所有优点,同时具有实时性
---
开发方面
● Windows+RTX是完全利用Windows的开发工具,直接开发基于实时系统的应用,不需要专门的开发工具,不需要学习,开发简单
● VxWorks提供自己一套开发定制工具,需要学习,开发复杂困难。定制内核还要涉及的复杂的BSP
---
图形方面
● Windows+RTX是完全利用Windows的界面,不需要购买昂贵的第三方图形包,Windows能做到的界面,Windows+RTX就能实现,而且和Windows下一样。也就是说,Windows的界面就是Windows+RTX的界面。
● VxWorks开发界面需要购买昂贵的第三方图形开发包。图形功能弱,开发周期长。
---
内核方面
● Windows+RTX是基于开放式的PC架构的实时系统,必须安装Windows或Windows XP Embedded。需要高性能的PC机。
● VxWorks是嵌入式微内核的实时操作系统,内核可定制裁减,可裁减的很小。支持多种CPU架构。
---
实时性能方面
● Windows+RTX是多进程多线程的实时操作系统,实时性能由RTX子系统提供,RTX专门用于实时方面,具有完全自己独立的实时性能强大的调度器。IST的延迟小于10微秒。
● VxWorks是单进程多线程的实时操作系统。具有实时性能强大的调度器。
---
● 上下位机带来的设计复杂性
● 复杂的分布式应用程序
● 总线传输性能决定系统整体性能
---
● 明显增加的可靠性,系统更小、更轻便
● 系统更简单,数据传输量更大
● 硬实时和其他高级特性/应用集成在一台硬件上
---
Win2000/NT/XP/Win7/Win10是世界上最流行的操作系统,同时有以下优缺点:
● 优点:丰富的图形+方便的编程+众多的第3方软硬件资源
● 缺点1:非确定性的任务调度
● 缺点2:启动速度较慢、易于受病毒感染
Windows+RTX(+ReadyOn)系统性能的提升:
● 优点1:继承Windows系统平台全部优点
● 优点2:具有RTX确定性的任务调度功能
● 优点3:具有ReadyOn的即时启动、随时关机功能;系统启动文件受到保户使得系统具有极高的健壮性、不易受病毒感染
---
---
---
---
● 开发实时应用需要使用RTX SDK
● 在Windows 2000/XP上安装VC++ 6.0或VS .NET
● 安装RTX SDK开发工具
● 实时应用程序编译成:“xxx.rtss”
---
RTX Runtime
● RTX SDK编译的实时程序“xxx.rtss”或实时库"xxx.rtdll"运行时需要的实时环境库的支持
● 在特定硬件上运行的实时应用都需要一个RTX Runtime
---
● 控制主机硬件:采用基于AT-BUS总线结构的x86架构工控机
● 控制软件
---管理层:提供良好的人机交互界面
---控制层:在固定的采样周期内高速地完成所有计算机接口卡的I/O交换。运行在硬实时的RTX环境
---控制层与管理层之间主要通过事件和共享内存机制实现通信
三轴仿真转台控制系统主控界面
---
● 美国雷神(Raytheon)爱国者导弹测试系统
● 美国海军Litton Marine驱逐舰方向舵控制系统
---
● CAE Electronics飞行模拟器控制系统
● Flight Safety International's飞行模拟器控制系统
---
由于RTX是基于Windows的实时子系统,因此最适合应用在既要求图形等Windows高级任务,又需要实时任务的场合,如下领域:
● 航空、航天、军事测控控制系统
● 基于PC的控制软件/设备(CNC)
● 分布式实时仿真控制系统
● 工业生产自动化控制系统
● 运动控制、机器人和数控设备控制系统
● 实时数据采集、测量系统
● 医疗仪器、设备控制系统
---END---