分布式系统中的命名系统-read.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分布式系统中的命名系统-read

分布式系统中的命名系统 命名系统研究如何确定计算机系统中各项资源的名称。它不仅要对系统中所有的资源项赋以名称,而且要按该名称使用资源项,因此对命名系统的要求是: ⑴为用户提供一个便于使用的系统内各资源项的名称集合。 ⑵按照资源项的名称,高速有效地找出该资源项。 无论是集中式系统还是分布式系统,命名系统的设计都是操作系统设计的中心问题之一。在分布式系统中,由于资源分布在各个分散的计算机结点中,它的命名系统的设计比集中式系统要复杂些。本章主要讨论分布式系统的命名系统。在解释命名系统的一些功能时,也讨论集中式系统的命名系统。 概述 在本章中,我们用标识符这个名词来表示各资源项的名称。由于同一个资源在操作系统各个层次上可以有不同的名称(这一点我们在以后要详细介绍),笼统他说某一资源的名称或名字不如用标识符来表示资源项更方便些。另一方面,标识符的内容比名字要更加广泛,例如它还可以是地址、路径等。一个标识符是一个符号串(通常是数码串或字符串),用于确定或访问某一个对象。这些对象和其标识符在操作系统结构的各层间的接口上是可见的。在同一层的模块之间的接口上也是可见的,各对象和其标识符可以在整个系统中使用,也可以严格地只允许在一个模块中使用。在本节中,我们首先讨论对标识符的要求,以及构成命名系统的一般原理。在以后各节中将介绍命名系统的设计方法。 对标识符的要求和构成命名系统的基本原则归纳为下列几方面: ⑴标识符可以用于多种目的,如访问、定位、调度、分配、故障控制、同步以及对象或资源(信息单元、通信通道、事务处理、进程及文件等)的共享。一个标识符可以用来表示一个对象的值,也可以表示对象的地址用以访问该对象。当从较简单的基本对象构造较为复杂的对象时,标识符的这两种使用情况有时会同时存在。标识符可以显式地或隐含地和所表示的对象类型相联系。 图 8 -1 标识符经过多次映射的情况 ⑵在系统结构的各层次上,标识符以不同的方式出现。广泛用于分布式系统中的三类标识符是名字、地址和路径,但它们之间的界线有时也并不非常清楚,例如用在进程相互通信层中的名字经常称为端口或逻辑地址。当需要操作或存取一个被标识的对象,通常需要映射到下一层次的标识符,有时要经过多次这样的映射才能达到对象,如图8-1所示。例如通常把名字映射到地址,再从地址映射到路径。但有时也可能把名字映射到路径,再从路径映射到地址。由此可见,同一个对象在不同层次上的标识符必须相互约束在一起。 图 8-2 在编译和操作系统中标识符的多次映射 标识符在各层次之间的映射通常利用映射函数或映射表。利用映射函数或映射表机构有助于实现分布式系统的透明性。例如,假设有两个小的分布式系统,使用同样的操作系统,各自拥有许多资源。现在要把这两个小系统组合在一起,形成一个统一的大系统。遇到的困难之一是在资源项的标识符上引起混乱。例如,在两个系统中都有文件名为A的文件,但是它们是两个不同的文件。再举一个例子,假如在分布式系统中移植了一个新的程序,这个程序是在其它系统上开发的,其命名方法与本系统不同,当存取或操作该程序的资源项时,就会产生困准。如果采用修改源程序的方法来解决这个问题是很不经济的。解决上述两个问题的一个比较合适的方案是采用多级标识符,这样既保留原来的标识符,以便于对资源项的操作或存取;又在会系统范围内为它们建立新的标识符。例如,可以给两个文件名都是A的不同文件建立两个不同的标识符,可以按本系统的命名方法给移植的资源项赋以新的标识符。在系统中引入标识符映射机构就可以实现多级标识符之间的转换。 ⑶一个标识符系统由三部分组成:一级或多级标识符的字母表,构成标识符的规则以及映射函数或映射表。在对对象进行重走位、共享、创建、取消等操作时,必须修改相应的映射机构。 ⑷在考虑对资源项的保护、故障诊断、使用方便等方面时,需要对标识符系统提出一些新的要求,但是这些要求有时是相互矛盾的。例如在标识符中引入数据类型将有利于故障诊断,但是用户的使用方便会受到影响。困此要根据系统特点全面考虑对标识符的要求。 上述对命名系统中标识符的要求在集中式系统和分布式系统中有很多相同点。为了更好地理解这些要求,现在考察集中式系统的编译和操作系统,看它们是如何利用标识符的上述各个特性的。图8-2显示出操作系统和编译对标识符的多级映射过程。编译语言允许程序员从大量的符号名字空间中为对象选择名字,它是按方便用户和满足编译器对程序或数据结构的要求而确定的。这些名字被翻译成中间的、面向机器的名字格式。在装载时,这些面向机器的名字格式通过映射机构映射成在地址空间中的位置。如果采用静态定位工作方式,地址空间与处理机的物理主存中的地址相对应,而且在运行过程中不再变动。如果采用在运行期间动态重定位的工作方式,可以提高系统利用率,并在多道程序系统中提供虚空间。为了满足这个要

文档评论(0)

zhuwo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档