摘要: |
本课题设计和实现了微机联锁仿真系统中的联锁机子系统和基于检测点机制的内核容错系统。微机联锁仿真系统的成功开发,为研究联锁系统安全性等问题提供了一个良好的实验环境,对于车站工作人员的岗前培训,具有较大的使用价值。检测点机制是系统容错、软件调试技术和分布式系统负载平衡的重要基础。
微机联锁仿真系统是以福州车站为原型实现的,通过自定义网络通信协议来实现各子系统间的复杂通信;采用链表与数组相结合的核心设计,使得系统可扩展性更好,算法实现更简单;复杂度为0(n)的进路搜索算法支持多路并行搜索,且通过有效的缓冲区管理,实现了多路同时模拟功能。
容错系统利用Linux操作系统提供的动态链接和可加载内核模块机制,使得容错系统运行于内核态,并充分利用其内核级实现的优势,提高了系统效率。容错系统克服了已有若干实现的缺陷,做到完全与应用程序透明,不需要修改编译应用程序,扩大了系统的应用面。在检测点文件格式的设计上,采用了可扩展的链接方式,使得数据更加紧凑有序;在文件系统方面,系统直接从内核中导出文件或目录的绝对路径名,提高了容错系统的准确性,也避免了传统wrap技术需要重新封装运行库的缺陷;在信号处理方面,内核级的实现充分利用其自身优势,绕开了信号实现机制的困扰;在内存的备份操作上,系统采用“影子脏位”算法来识别两检测点之间有无被改变的部分,实现了增量检测点,大大提高了系统的效率。 |