第1页共6页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共6页VxWorks环境下基于Zinc的GUI任务与非GUI任务之间的通信1引言VxWorks是美国WindRiverSystems公司开发的一种嵌入式实时操作系统,它以高性能可剪裁的微内核以及友好的用户开发环境在嵌入式实时操作系统领域占有重要的地位
在很多实时应用场合(如嵌入式地理信息系统),需要在VxWorks环境下设计图形用户界面(GUI)
VxWorks提供了两种开发图形用户界面的组件:WindML(Wind多媒体库)和Zinc
WindML为图形、图象和声音应用程序的开发提供了基本技术,并且提供了为定制设备开发标准化驱动程序的框架
Zinc是以WindML为基础的,Zinc是为应用创建图形用户界面提供框架的可扩展的面向对象的类库
Zinc为实现复杂的图形用户界面提供了更多的支持
为了提高性能和简化源代码,大多数情况下在一个实时环境中的应用程序是以多任务的方式实现的,Zinc自身通常也是多任务的
一般不在外部任务里直接处理GUI,而是在一个专用的GUI任务里执行所有的GUI处理
在多任务环境下,非GUI任务将需要在不同的时期和GUI任务通信,GUI也可能需要与外部任务通信
GUI任务与非GUI任务之间的通信方式将对整个实时系统的实时性、可靠性和稳定性产生重大的影响
因此,深入研究VxWorks环境下Zinc所支持的GUI任务与非GUI任务之间的通信方式并确定在特定应用场合选择通信方式的原则是非常重要的
2GUI(Zinc)任务和外部任务之间的通信方法GUI任务和非GUI任务之间的通信大致可以分为两种:同步通信和异步通信
Zinc主要提供了如下几种通信机制供程序员选择使用:Zinc入口点共享内存OS消息队列派生设备a)Zinc入口点可以利用Zinc入口点实现GUI任务与非GUI