论文部分内容阅读
CORBA是OMG组织制定的规范,用于解决系统的异构性问题。作为面向对象的中间件,它采用OMG IDL定义的标准接口,通过中间代理ORB实现客户与服务器之间的透明交互,从而实现不同软硬件产品之间真正意义上的互操作,具有跨平台、跨语言、跨网络等特点。因此,CORBA在分布式系统中起着软件总线的作用,已经成为分布对象计算技术的典型代表和主流技术,能大大简化分布系统的开发。 然而,现有的CORBA软件在设计时均没有考虑分布实时应用的需求,缺少对QoS的支持,缺少实时编程的特征,缺少性能上的优化,在结构上也有其先天的不足。这些局限性限制了CORBA在实时领域的应用,不能满足分布实时应用对时钟同步、时间可预测性、实时任务调度等特殊要求,需要加以改进。 本文分析了CORBA的体系结构和请求调用方式,并与微软的DCOM作了比较,指出了其相同点和不同点。鉴于CORBA在分布实时应用中的不足,作者讨论了一些改进的可行性方法,主要是考虑在现有操作系统的基础上,对现行CORBA进行扩展,使其具备实时特征和容错能力。文中作者重点研究了C++Builder环境下Inprise公司的ORB产品VisiBroker的实时性能。作者首先设计了一个实验,采用多线程模拟CORBA客户端的多个任务,根据实验结果定性地分析了VISBroker的一些实时性方面的特征,并测得9个任务时请求的延迟时间。然后引入MIF实时调度算洁,并在客户端实现,使得多个任务能够根据实际需要按合理的顺序执行,运行时间也可预测,这样就提高了系统服务质量,从而改善了VisBroker实时性能。最后作者展望了CORBA规范的新发展一实时CORBA,分析了其结构,并详细地阐述了实时CORBA的核心一线程池策略,包括半同步/半异步和领导者沾随者两种结构檬型。