软件可靠性仿真测试平台实时技术研究
②时钟级消息:由精确定时器产生“定时时间到”的消息。在正常测试过程中,该消息为最高级别。时钟级的消息主要分配给在实时测试中的数据生成模块和驱动模块。
本文引用地址:https://www.eepw.com.cn/article/83648.htm③普通级消息:该类消息主要分配给用户接口模块、记录模块等功能模块。
2.2.4 仿真器关键功能模块的实时性实现技术
①网络通信模块:非实时部分采用TCP/IP协议方式进行网络传输。实时部分利用设置网络通信缓存区的方式,从通信结果上可以部分实现网络传输的实时通信,其关键在于缓冲的深度。或者采用VXD技术,直接对网卡进行传输操作,可以避免由于网络延迟而影响系统实时性能的缺陷。
②显示模块:在实时测试过程中,通过该模块,可以显示测试数据,并且用户能对测试过程进行控制。在实时测试中,中心任务处理周期为25 ms,在任务周期的空余时间还需要进行其它处理。因此在每25 ms周期内,留给显示任务的时间就非常少,另外由于人眼对数据变化的敏感程度低于25 ms,因此每50 ms以上进行一次相关数据显示就可以满足系统的需求。在数据显示中,文本显示比图形显示占用CPU处理时间要少许多。在图形显示中,采用高性能的图形处理算法,可以保证图形处理的实时性。另外,随着图形卡硬件性能的提高,在图形加速卡性能保证的情况下,系统只需计算图形描述语句占用CPU的时间,图形绘制方面的时间可以不给予主要考虑。图形实时显示算法还有待进一步研究。
③交联数据1553B驱动模块:由于Win98处于安全模式,Win98中的虚拟内存地址与实际物理地址并不一致,用户不易直接访问硬件的实际物理内存地址和I/O口地址。为了满足实时驱动MBI卡的需要,通过WinDriver工具软件,直接映射MBI卡上的实际物理内存地址和I/O地址,并将硬件中断虚拟化,利用WinDriver生成的一系列读写内存和I/O口地址的函数,用户就可以直接快速地对硬件进行控制。实验结果表明,在Win98应用任务单一的情况下,用户操作MBI卡的速度同于在DOS下的速度。WinDriver工作原理如图5所示。
图5 WinDriver工作原理图
3 结束语
本文以实时测试某航空软件可靠性为背景,介绍了仿真器在仿真测试平台中的作用。按照模块化和可扩充的设计思想,给出了仿真器功能结构组成;并且着重介绍了仿真器的任务调度管理模块的设计思想,针对具体任务和系统工作模式,提出了集成动态调度策略;对于优先+级的调度方式,采用了优先级浮动的原则。另外,给出了实时网络实现的方法,讨论了图形实时显示的可行性,利用WinDriver实现了在Win98下对硬件MBI卡的直接驱动。实验结果表明,上述调度思想与相关技术综合运用,很好地满足了仿真器系统工作的实时性。
* 本课题由国防科技“九五”重点预研项目支持
参考文献
[1]蔡开元.软件可靠性工程基础.北京:清华大学出版社,1995
[2]Dunham J R Real-time Software Failure Characterization.IEEE AES Magazine,1990.11
[3]Kaneko H,Stankovic J A. A Multimedia Server on the Spring Real-time Systems Umass Computer Science Technical Report 96-11,1996.1
[4]唐荣锡.计算机图形学教程.北京:科学出版社,1994
评论