对象总线技术分析与原型系统实现
文献类型:学位论文
作者 | 邵丹华 |
学位类别 | 博士 |
答辩日期 | 1997 |
授予单位 | 中国科学院软件研究所 |
授予地点 | 中国科学院软件研究所 |
关键词 | 分布计算 对象 请求 分布对象总线 线程 |
学位专业 | 计算机软件 |
中文摘要 | 近几年来,随着软件、硬件,特别是网络技术的迅猛发展,分布式计算的应用范围越来越广。分布式计算从最初的数据上的互连发展为基于过程的互操作。但是,过程模型很难对分布的资源作出恰当的描述。而在软件发展过程中,对象技术的程序设计语言、数据库等多个领域都发挥着重要的作用。推广了的对象模型具有封装、抽象、多态等特点,非常适合于描述分布资源,因此,产生了分布对象计算。OMG的OMA/CORBA规范就是一种分布对象的计算标准。但是,它们对于分布对象计算中的核心—对象总线ORB的实现机制却没有介绍。而在实际的分布对象系统中,ORB发挥着极其重要的作用。从ORB所处的位置来看:它不仅要为上层的程序设计提供服务,而且还要与下层的操作系统和网络甚至硬件设备打交道,其中主要的异构平台上数据表示的差异以及网络中各站点之间的数据传递。因此,ORB的实现与这几方面都密切相关。从结构上来看,ORB所支持的是一种总线形式的框架结构,为所支持的对象提供公共的通信接口。作为中介,它负责client和server之间的通信。而在分布系统中,通信部分性能的好坏是直接影响整个系统效率高低的关键因素。而且ORB所传递的不是简单的关于数据或是过程的访问而是对象请求,而目前很少有直接支持对象访问的通信方式,对象通信只能通过其它手段直接地实现,这样,ORB对实现方法的选择和设计就显得更为重要了。因此,有必要对ORB的具体实现机制加以讨论。ORBPRO就是对象总线的一个原型系统。在参考了CORBA规范,以及已有的分布计算技术和对象技术之后,我设计并实现了ORBPRO原型系统。在ORBPRO中,为了支持局域网环境下,异构平台上的分布式的面向对象的程序设计,在实现中采用了分层的ORB Lib:简单名字服务层、请求服务层、数据转换层和网络接口层。其中,简单名字服务层负责server的从名字到地址的映射,为用户提供位置上的透明性;请求服务层负责请求的构造,包括请求的初始化、参数的输入输出、发送和响应接收;数据转换层负责本地的数据表示与标准数据表示之间的转换;网络接口层负责通过底层的网络接口进行通信。对于server,ORBPRO采用了共享式的类server模型。类server是指类与server一一对应:一个类对应与一个server,而一个server也只包括一个类对象及其实例对象。在类server中,由类对象负责实例对象的管理工作,这些是由类对象中定义的类数据和类方法来实现的。同时,同属于一个类的对象共享方法的实现,类对象和实例对象同在一个地址空间内,便于实现上的共享。对于为server提供ORB服务的适配器,在ORBPRO中被设计为独立的进程。它负责server注册、激活、对象引用等的管理。与库函数式适配器相比,进程式适配器可以始终处于活动状态,等待client的请求,并在需要的时候激活server。这样,就屏蔽了server的状态,有利于提高分布对象系统的透明性。由于适配器需要和client和server两方面打交道。一方面要把请求传递给server,另一方面也要管理server(比如激活server),而适配器本身又是以多线程方式运行的,所以,这两个方面可能同时访问同一个server。因此,在适配器中为server设置了状态信息,采用了条件变量方法来同步对server的访问。由于在分布式系统中多请求的并行处理能力是必不可少的。server、适配器都面临着如何避免在同时处理多个请求时发生阻塞的问题。线程是编写高效并行程序的有力的手段。一个线程是在所属进程内的一个语句执行序列。同一个进程内的各个线程对于代码段、静态数据区和堆是共享的,而指令计数器、栈、通用寄存器是各个线程所私有的。与进程相比,线程在创建、切换等方面的代价要小得多。目前,很多的操作系统都提供了线程机制。因此,在ORBPRO的中采用了多线程来支持适配器和server对于多请求的并行处理。而请求与响应线程之间的对应关系上也是多种多样的。在实现中采用的是最基本请求/响应模型:主线程负责侦听请求,并为每个请求创建一个响应线程。 |
语种 | 中文 |
公开日期 | 2011-03-17 |
页码 | 65 |
源URL | [http://ir.iscas.ac.cn/handle/311060/7610] ![]() |
专题 | 软件研究所_中科院软件所_中科院软件所 |
推荐引用方式 GB/T 7714 | 邵丹华. 对象总线技术分析与原型系统实现[D]. 中国科学院软件研究所. 中国科学院软件研究所. 1997. |
入库方式: OAI收割
来源:软件研究所
浏览0
下载0
收藏0
其他版本
除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。