与计算机名相关的服务有哪些,命名服务

名称在所有计算机系统中起着重要的作用,它们用来共享资源,唯一标识实体,指向位置等。命名的对象可以有多种类型,而且可被一些不同的服务来访问。命名服务器可根据给定的名字来进行资源或对象的地址定位,并获取有关的属性信息。

中文名

命名服务

外文名

naming service

目    的

共享资源,标识实体,指向位置等分    类

一般的和分布式系统中的命名方式

应    用

JAVA、C++、数据库等

领    域

计算机系统

命名服务概述

编辑

语音

命名服务基本概念

命名服务将名称映射为对象引用。这种“名称-引用”的关系称为名称绑定。同一个对象引用可以使用不同的名称多次被存储,但每一个名称只能准确的确定一个引用。一个命名上下文(naming context)就是一个存储名称绑定的对象。也就是说,每一个上下文对象实现一个从名称到对象引用的映射表,这个表中的名称可以表示某个应用程序的对象引用,也可以表示命名服务中的另一个上下文对象。这就意味着,如同文件系统,上下文就好像是一个有层次的表单:命名上下文相当于一个目录,用来存储指向其它目录和文件的名称,一个上下文和名称绑定的层次结构称为命名图[1]

命名服务名称与属性

名称:由位和字符组成的字符串,用来指向一个实体。

三种类型的名称:地址,标识符,用户友好的名称。

地址:与实体相关的访问点的名称。

标识符:用来唯一标识实体的名称。

用户友好的名称:由字符串表示,由人来使用。

属性:基本值(如整数)或者自身的名称。

联编:名称和对象之间的联结。

名称的映射:实现由名称到实体的对应[1]

命名服务命名机制

编辑

语音

命名服务作用

命名机制的作用:实现对资源的共享,重定向等等;从分布式OS和应用的角度,对资源进行访问。

现有的一些计算机系统,对不同类型的对象使用独立的命名原则,如文件名与其它对象名之间差别较大,分布式系统应使用统一的命名原则可以识别各个可用的对象[1]

命名服务目标

命名机制的目标 :

1.命名机制应可以识别全局范围的对象;

2.应至少支持两类不同的标识符;方便用户使用的用户级;便于机器存储表示的系统级;以上两级的机制应各自独立,且可以高效地进行转换。

3.在整个系统范围内的唯一标识符;

4.在发送具体的消息前,初始化和转换标识符时交换消息的数量小;

5.命名机制应可以对对象进行重定位;负载平衡要求对象应该是可移动的;

6.名字和地址之间的变换不一定是一一对应的,还可以是一对多;

7.命名机制应支持对同一对象多的使用;

8.命名机制应允许用户对同一对象定义多个局部的标识符;

9.命名机制应允许多个不同的对象共用同一个标识符(进程组);

10.分布式系统中使用的独立命名机制的数目必须是最小的[1]

命名服务命名方式

编辑

语音

命名方式分为一般的命名方式和分布式系统中的命名方式。

命名服务一般的命名方式

在计算机系统中,每个对象一般有两个名字,一个是由用户识别的文本名(符号名),另一个是由系统使用的内部名。内部名可以是该对象的实际位置,也可以是查询该对象之地址的一种表示形式。通过某种映射,系统可以把用户定义的符号名转换成相应的内部名[1]

命名服务分布式系统中的命名方式

1.分布式系统的透明性

系统的透明性(transparency)是指系统的内部细节对用户是隐藏的。一个真正透明的分布式系统的用户把该系统看成是一个统一的整体。例如,它可以任意移动系统中的某个文件而不必改变文件的名字。

分布式系统的透明性主要包含以下方面:

名字透明性:一个对象的名字不依赖于系统中的站点,每个对象有一个全局惟一的名字,不同站点使用同一个名字访问同一个对象。

位置透明性:对象的名字是独立于该对象位置的,这样,与一个名字相关的对象可从一站点迁移到另一站点而不必改变其名字。

程序执行的透明性:在响应一个用户提出的“执行某个程序”的请求时,操作系统可在系统内任何可用的处理机上调度所指程序的执行,并对用户保持这种透明性。

存取透明性:存取一个对象与与该对象的位置无关。存取透明性不仅保证一个进程可从一处理机迁移到另一处理机上运行,而且还可以实现将一个任务分配后,使其各子任务在不同的处理机上并发执行。

并发存取透明性:一个对象的用户通常不知道还有其他用户也在并发存取该资源,即用户得到了这种假象——他是在互斥存取该对象。

进程诱明性:每一进程就像在一台机器上运行时那样去识别所有其他进程。这就要求有一个大的惟一的进程名空间,使系统能可靠地对运行在任意站点上的进程发送信息并获取进程状态。对用户而言,编写程序就像为一台机器编写程序一样,而写好的程序则能在多台机器上运行。

复制透明性:某个对象的用户不知道该对象是否是复制的,即系统对用户提供了对象的单一副本。

故障透明性: 系统可对用户隐藏“系统的某些成分已经故障”这一事实。当然,用户可通过系统性能的衰减而察觉到这一点。

全局透明性:系统的边界对用户完全透明,用户像使用单机一样使用分布式系统。

文件系统透明性:文件可存放在系统中的任何站点、文件有多少副本、最新版本是多少、如何更新均由系统解决,多副本间的一致性由系统自动协调。用户则可用存取本地资源同样的方式存取远程文件。

性能透明性(又称网际透明性):这是一个综合要求,简单地说是指使访问远程资源与访问本地资源所需的开销之差小到可忽略的程度。或者说,用户不应感到由于远程存取而带来过多的性能衰减。

命名方案与透明性问题极为相关,系统的透明性含了下面的事实:资源的位置不应嵌入其名字中;名字应该是全局惟一的,相同的名字应该有相同的效果,不管在哪个站点上使用,它们都应该有相同的含义。

2.分布式系统的命名方案

设计命名方案的一个基本观点是:名字是依赖于位置还是独立于位置。

分布式系统中常用的命名方案有绝对命名、相对命名和层次式命名三种。

由绝对命名方案命名的名字是全系统范围惟一的、无二义性的。在机内,这类名字通常是由时钟或计数器之值产生的位串。

由相对命名方案命名的名字依赖于使用它的上下文。对于不同的使用者,一个对象的名字可以是不同的,或者说,一个对象的名字不惟一。

层次式命名方案用如下方式组织系统中的对象名:对象被分划成若干组;每组给定全局惟一的组名;每组中的每个对象在组内给定惟一的名字;一个组中对象名还可按此方式进一步分划成若干子组[2]

命名服务分布式系统中的命名服务系统

1.命名服务系统的功能

命名服务系统管理着一个联编数据库,其中存储着文本名(可读的)及其相关的属性。命名服务系统支持的主要操作是解析一个名字——在该数据库中查找给定名字的相关属性。

命名服务系统有以下功能:通过管理名字在系统的地址去定位命名过的对象;创建、删除、改变对象的名字;改变对象的位置,以支持对象在系统中的迁移;利用对象名字来支持对象的共享;创建一个对象组;从组中删除成员或将成员加入其中;枚举组中的成员;测试组中成员之间的关系;借助组名共享资源或共享服务程序;

支持对象组的递归结构;完成外部名(符号名)到内部名(系统名)的映射工作。

2.命名服务系统的设计方式

设计名字服务器一般有中央方式、复制方式和分划方式三种途径。

中央方式:全系统仅有一个(中央)名字服务器,系统中的所有服务程序都由它来寻址和定位。

复制方式:每个站点都有一个名字服务器的副本,用以管理该站点上的所有服务程序及本站点与其他站点间相互请求的服务信息。

分划方式:若系统由若干子系统(子网)组成,则对于每个子系统,用一个名字服务器管理本子系统上的所有服务程序及本子系统与其他子系统相互请求的服务信息;若系统的命名空间可根据某种方式来分划,则对于每个经这样分划后的实体,用单独的或复制式的名字服务器管理;将命名空间组织成层次结构来管理[2]

参考资料

1.

[荷] Andrew S.Tanenbaum 著.现代操作系统: 机械工业出版社,2009

2.

汤明望 , 黄世宝 .分布式系统中的命名问题及透明性 [J].土木工程与管理学报,1993:33-37

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值