第八章分布式系统中的命名系统.docx
《第八章分布式系统中的命名系统.docx》由会员分享,可在线阅读,更多相关《第八章分布式系统中的命名系统.docx(10页珍藏版)》请在冰豆网上搜索。
第八章分布式系统中的命名系统
第八章.分布式系统中的命名系统
命名系统研究如何确定计算机系统中各项资源的名称。
它不仅要对系统中所有的资源项赋以名称,而且要按该名称使用资源项,因此对命名系统的要求是:
⑴为用户提供一个便于使用的系统内各资源项的名称集合。
⑵按照资源项的名称,高速有效地找出该资源项。
无论是集中式系统还是分布式系统,命名系统的设计都是操作系统设计的中心问题之一。
在分布式系统中,由于资源分布在各个分散的计算机结点中,它的命名系统的设计比集中式系统要复杂些。
本章主要讨论分布式系统的命名系统。
在解释命名系统的一些功能时,也讨论集中式系统的命名系统。
第1节概述
在本章中,我们用标识符这个名词来表示各资源项的名称。
由于同一个资源在操作系统各个层次上可以有不同的名称(这一点我们在以后要详细介绍),笼统他说某一资源的名称或名字不如用标识符来表示资源项更方便些。
另一方面,标识符的内容比名字要更加广泛,例如它还可以是地址、路径等。
一个标识符是一个符号串(通常是数码串或字符串),用于确定或访问某一个对象。
这些对象和其标识符在操作系统结构的各层间的接口上是可见的。
在同一层的模块之间的接口上也是可见的,各对象和其标识符可以在整个系统中使用,也可以严格地只允许在一个模块中使用。
在本节中,我们首先讨论对标识符的要求,以及构成命名系统的一般原理。
在以后各节中将介绍命名系统的设计方法。
对标识符的要求和构成命名系统的基本原则归纳为下列几方面:
⑴标识符可以用于多种目的,如访问、定位、调度、分配、故障控制、同步以及对象或资源(信息单元、通信通道、事务处理、进程及文件等)的共享。
一个标识符可以用来表示一个对象的值,也可以表示对象的地址用以访问该对象。
当从较简单的基本对象构造较为复杂的对象时,标识符的这两种使用情况有时会同时存在。
标识符可以显式地或隐含地和所表示的对象类型相联系。
图8-1标识符经过多次映射的情况
⑵在系统结构的各层次上,标识符以不同的方式出现。
广泛用于分布式系统中的三类标识符是名字、地址和路径,但它们之间的界线有时也并不非常清楚,例如用在进程相互通信层中的名字经常称为端口或逻辑地址。
当需要操作或存取一个被标识的对象,通常需要映射到下一层次的标识符,有时要经过多次这样的映射才能达到对象,如图8-1所示。
例如通常把名字映射到地址,再从地址映射到路径。
但有时也可能把名字映射到路径,再从路径映射到地址。
由此可见,同一个对象在不同层次上的标识符必须相互约束在一起。
图8-2在编译和操作系统中标识符的多次映射
标识符在各层次之间的映射通常利用映射函数或映射表。
利用映射函数或映射表机构有助于实现分布式系统的透明性。
例如,假设有两个小的分布式系统,使用同样的操作系统,各自拥有许多资源。
现在要把这两个小系统组合在一起,形成一个统一的大系统。
遇到的困难之一是在资源项的标识符上引起混乱。
例如,在两个系统中都有文件名为A的文件,但是它们是两个不同的文件。
再举一个例子,假如在分布式系统中移植了一个新的程序,这个程序是在其它系统上开发的,其命名方法与本系统不同,当存取或操作该程序的资源项时,就会产生困准。
如果采用修改源程序的方法来解决这个问题是很不经济的。
解决上述两个问题的一个比较合适的方案是采用多级标识符,这样既保留原来的标识符,以便于对资源项的操作或存取;又在会系统范围内为它们建立新的标识符。
例如,可以给两个文件名都是A的不同文件建立两个不同的标识符,可以按本系统的命名方法给移植的资源项赋以新的标识符。
在系统中引入标识符映射机构就可以实现多级标识符之间的转换。
⑶一个标识符系统由三部分组成:
一级或多级标识符的字母表,构成标识符的规则以及映射函数或映射表。
在对对象进行重走位、共享、创建、取消等操作时,必须修改相应的映射机构。
⑷在考虑对资源项的保护、故障诊断、使用方便等方面时,需要对标识符系统提出一些新的要求,但是这些要求有时是相互矛盾的。
例如在标识符中引入数据类型将有利于故障诊断,但是用户的使用方便会受到影响。
困此要根据系统特点全面考虑对标识符的要求。
上述对命名系统中标识符的要求在集中式系统和分布式系统中有很多相同点。
为了更好地理解这些要求,现在考察集中式系统的编译和操作系统,看它们是如何利用标识符的上述各个特性的。
图8-2显示出操作系统和编译对标识符的多级映射过程。
编译语言允许程序员从大量的符号名字空间中为对象选择名字,它是按方便用户和满足编译器对程序或数据结构的要求而确定的。
这些名字被翻译成中间的、面向机器的名字格式。
在装载时,这些面向机器的名字格式通过映射机构映射成在地址空间中的位置。
如果采用静态定位工作方式,地址空间与处理机的物理主存中的地址相对应,而且在运行过程中不再变动。
如果采用在运行期间动态重定位的工作方式,可以提高系统利用率,并在多道程序系统中提供虚空间。
为了满足这个要求,装载程序把面向机器的名字装配成一维逻辑地址空间的标识符,并且再增加一级命名以及相应的映射表,在运行期间把这些逻辑地址经过映射装配成物理地址。
如果进一步提出程序和数据的共享,并且允许它们没有地址冲突动态地增长,就需要再增加一级标识符和映射机构。
由此可见,通过增加额外的标识符和相应的映射机构,可以改进对象的再定位,扩展和共享的能力,但另一方面也增加了存取对象的开销,因此在确定对标识符系统的要求时,应该兼顾这两个方面。
既要满足操作系统对对象定位的各项要求,又要有较小的系统开销。
在下一节将研究设计标识符系统的一般原则。
在第3到第6中,将分别研究在不同层次上应用的标识符的设计,这些层次包括面向用户的标识符系统,面向机器的标识符系统以及用于表示网络中的地址和路径的标识符系统。
最后,作为实例将介绍两个分布式系统中采用的标识符系统。
第2节标识符系统的设计要求
一个分布式系统中标识符系统的设计要求,在很多方面与集中式系统是相同的,现列举一些重要要求:
⑴对于不同的应用情况,采用不同的设计方案,达到减少开销的目的,例如在用作事务处理的系统中。
存在着两类不同的应用方式:
一类是单个事务处理;另一类是成批事务处理。
对于前者,用户程序要用到一些资源的标识符,在这些资源上,用户程序执行某些操作并获得结果,但并不意味着这些资源或操作可能再次使用。
对于后者,则意味着在整个运行时间内,对一组标识符要进行多次澡作。
对面向单个事务处理的系统,要求尽量减少各级标识符映射过程中的开销。
标识符的映射需要涉及存取映射表,标识符空间重新分配等操作,减少这一开销的方法是提供足够大的空间,以便永久地存放直接可用的标识符。
此外,也可以采用比较复杂的面向机器的标识符,使标识符中直接包含映射信息,可以减少存取映射表的操作。
面向成组事务处理的系统,则设计成仅仅在第一次存取时执行标识符的映射操作,因此对减少映射开销的要求较低。
⑵在一个系统中有多级标识符,一般至少有两级标识符:
面向机器的标识符和面向用户的标识符。
对这两类标识符有不同的要求。
面向机器的标识符应该采用易于机器操作和存取的位码形式,并且可直接为保护、资源管理和其他机构使用。
面向用户的标识符通常采用便于用户记忆的可读的字符串。
在某一层次结构上,后者可以映射到前者。
⑶易于形成一个统一的标识符系统,在分布式系统中,各计算机结点构造自己所属资源项的标识符,在不同的计算机结点中可能产生相互冲突的标识符,例如对两个不同的资源项赋以同一标识符。
为了避免出现这种情况,需要在整个系统形成一个统一的标识符系统。
通常有两种方法,一种方法是借用集中式系统的方法指定一个计算机结点产生全局的统一的标识符。
这种方法可能会在系统中引起通信瓶颈。
另一种方法是采用结构式标识符系统。
在这种系统中,标识符由两部分组成:
网络中结点标识符和结点内部对象标识符,如图8-3所示。
它可以由各个计算机结点独立地产生,又可以形成一个全局统一的标识符系统。
在采用结构式标识符系统时,必须注意保持对象在系统中定位的透明性。
也就是说,要使标识符机构独立于系统的物理连接和拓朴结构,各个计算机结点之间时界限在系统管理上是真实存在的,但是在构造标识符系统中应该是透明的。
因此,结构式标识符系统中结点标识符不应该与对象当前所在结点标识符等同,要允许对象在不同结点中自由定位。
,我们将在下一节中介绍如何在标识符系统的设计中满足这一个要求。
图8-3结构式标识符的组成
第3节面向机器的统一标识符
如上节所述,创建一个全局标识符空间的一种简便策略是为每个标识符域(通常是一个结点)创建一个全局统一的域标识符,把在某域中的对象标识符与该域标识符相级联构成对象的全局标识符。
这种方法很方便,但有两个缺点:
第一是在上节中指出的,各结点的界限是不透明的,对对象的迁移、故障处理等均带来不便。
第二是突出地存在由异种机构成的系统中,由于不同机型内部的标识符的结构和长度相异很大,为了迁就某些复杂结构和长度很大的标识符的需要,使得全局标识符笨拙而又低效。
改进的方法是,为所有对象开发一个标准的、统一的全局标识符格式和空间,把整个全局空间分解成很多局部域,然后把结点内对象的标识符与局部域内的标识符建立映射关系。
这种映射关系可以是不变的,也可以是动态变化的。
增加这样一级映射关系可以带来不少优点。
例如,在结点内对象的标识符可以选择最适合于某一局部语言或操作环境的标识符系统;同一个局部域内的标识符可以映射到多个结点的对象标识符,以实现多副本等等。
与这种统一的,面向机器的全局标识符空间相联系的实体,有时称为对象标识符。
它的两个组成部分称为服务器的标识符和服务器内部的局部标识符,这两种标识符在构成时,都有各自的限制规定。
这些规定往往很简单,例如标识符不得超过一定长度等。
但是在形成这些标识符时,除了执行上述这种规定以外,还需要考虑其它一些因素。
每个对象的局部标识符是由该对象所在的宿主计算机确定的。
在确定时,除了要服从全局标识符中局部域标识符的限定以外,还往往自行增加一些特定的要求,以满足宿主计算机内映射机构的需要,特别在由异种机构成的系统中,这种特定的要求随计算机结点而变化。
出此可见,全局标识符尽量不要对局部域标识符有过多的限定。
对象的局部标识符在宿主计算机内要映射到局部实现标识符,宿主计算机通过局部实现标识符实现对对象的查找和存取。
当一个对象有多个副本时,每个副本都要有一个局部实现标识符。
在这种情况下,一个局部标识符通过映射机构要映射到多个局部实现标识符。
当一个对象位置有变动时,它的局部标识符不需要变化,但是,它的局部实现标识符和相应的映射机构需要随之变动。
当需要实现对进程通信时,必须给进程赋以标识符。
一个进程常常拥有多个标识符,称为端口、接口或信箱。
如Access系统中一个进程有多达几十甚至上百个端口,各个端口有不同的标识符。
一个进程拥有多个端口有很多优点。
各端口指定完成某一方面的功能,例如,传送正常信息、出错信息和打印输出信息等。
这样可以在两个进程进行会话的同时,实现传送出错信息和打印输出信息的并行控制。
另外,把每一个端口与某一服务范围联系起来,便于进行出错检测,撮高可靠性。
有时,一个进程的标识符可以映射到多个物理进程,这些物理进程都能提供同样的服务。
图8-4显示出一个文件服务进程的标识符映射到多个文件服务器的情况。
这些文件服务器能提供同样的文件服务功能。
对每一次映射过程,只映射到其中一个文件服务器。
一个进程标识符和多个物理进程相联系,实现提供多个通用服务器的方式,有助于实现负荷平衡。
图8-4一个文件服务进程的标识符映射到多个文件服务器
综上所述,-个面向机器的对象标识符系统要满足以下要求:
⑴建立一个统一命名对象的全局标识符空间,标识符能以分布的方式产生。
由标识符可以用较小的开销获得对象的地址。
⑵很容易地在较高层次上和面向用户的标识符系统中建立联系。
⑶适当增加映射机构的开销,可以支持对象的重走位和提供多副本(或多服务器)的服务。
⑷如果有一个已在运行的分布式系统,现在要增加一个新的计算机结点,给新引入的结点赋以一个新的标识符。
该标识符要不和原系统中各进程标识符发生冲突,因而保证新的标识符直接可以纳入原有标识符系统中,实现了系统的可扩展性。
第4节面向用户的标识符
面向用户的标识符系统要能够满足用户对他所拥有的标识符便于记忆的需要。
此外还要考虑帮助用户对对象进行组织、描述以及共享。
面向用户的标识符的约定要使它们很容易地嵌入到用户程序中去。
它们与面向机器的标识符的映射可以用建立(面向用户标识符、面向机器标识符)的映射表来实现。
也可以利用标识符结构之间的逻辑关系,隐含地实现。
面向用户标识符系统经常采用树型结构目录表的形式。
在UNIX系统中,这种结构通常只用于管理文件的目录,但它们能用于管理任何对象的目录。
树形结构目录表中的叶结点由对象的标识符构成,非叶结点则是目录,一个对象的路径是从根结点到对象结点所经过的各结点的标识符串,一个已知对象可以通过多条路径到达,这样就实现了多个用户共享该对象。
每个用户可以描述自己的路径,目录由目录服务器管理。
在最简单的目录服务器中,存放着由面向用户的标识符和面向机器的标识符组成的二元对偶,并提供对二元对偶进行存取操作的原语。
在具有树形结构目录表的目录服务器中,目录服务器由面向用户的标识符检索出面向机器的标识符,按路径跟踪直到获得在叶结点的面向机器的标识符。
有些系统中,这个跟踪过程也可以由实用程序执行。
第5节地址和路径
本节主要研究如何通过路径寻找地址,这里所指的地址包含了上面两节中讨论的面向用户的标识符和面向机器的标识符两大部分,一个寻址机构的设计要考虑两个主要因素:
寻址机构的结构和地址空间的大小。
寻址构结的选择对地址和路径相互的映射过程,在各个结点上所需要的映射表的大小、映射功能能否分布以及网络扩展的难易程度等都有重大影响。
在通常的应用中,有两种形式的地址结构:
单级的和多级的。
对单级地址来说,每个路径结点必须维持一张映射表来映射所有可能的地址。
所以,必然在这些结点上存在着很大的路径表(即映射表)。
单级地址结构支持重定位比较容易。
当一个系统中的服务进程不能在设计时预先确定它将在哪个结点上,或者服眼务进程经常会在不同的结点上重新定位时,选用单级地址结构是合适的。
此外,单级地址结构还有支持广播功能及易于分布方式产生的优点。
图8-5多级地址结构和它的映射
采用多级地址结构,在每个路径结点上只需要存储较小的映射表。
这种结构形式特别适合于网状的网络环境,多级地址由许多字段级联而成,每个字段定义一个子树,例如网络、簇、主机、进程等。
一个进程的地址反映了网络的多层几何结构,图8-5表示出这种层次式的结构地址。
通过结点的路径选择算法把一个地址字段的值映射到该结点下面的一个子结点的标识符或表明下一个字段需要用到的映射表,这个过程一直重复执行,直到找到对象为止。
沿多级地址树自上而下的每条分支可以包含不同层数,每一层中也可以有不同的分支数,因此,在同一个系统中,在不同的树中、地址中的字段数量不必是统一的。
每个字段的长度也不必是一致的。
当多级地址的划分与结点的划分不一致时,要防止把传输路径定向到另一个结点,再定向到更远的结点,然后再返回到本结点的情况。
另一个要注意的问题是地址空间的大小,地址空间应该足够大,使每个对象都有它相应的地址,而且在这个对象被消除以后,它的地址处于空闲而不需要急于由其它对象占用(指在合理的寿命周期以内)。
否则,当一个对象,例如一个进程完成以后,就需要收回该进程及其端口,逻辑通信通道等所有地址。
而当创建一个新的进程时,又要赋以各个相应地址,这是很麻烦的。
特别在面向事务处理的系统中,进程的创建和取消比较频繁,这种做法是不允许的。
此外,小规模地重新分配地址也会使故障处理和安全性方面产生问题。
例如,当系统发生故障,暂时撤消了一些进程,但它所产生的某些信息包可能没有及时取消,也可能在故障恢复以后又重新产生这些信息包,由于这些信息包的地址已被其它进程使用而造成出错。
采用较大地址空间(如64位)也会带来一些缺点:
增加了传送信息包的头部长度;增加了网络传输过程中间结点以及末端结点的存储量;增加了传送媒介上的负荷。
随着存储器价格的下跌,存储量的增加不会有多大困难。
在网络通信开销方面,有两个起着重要作用的因素:
一个是传输媒介上传送的信息量的多少;另一个是建立一个传送信息包并把它加载到通信传输媒介上所需要的时间和资源。
在这两个因素中,后者起着主要的影响。
公共数据网的收费标准是按照信息传输包的数量收费,而不是按照信息传输包的长度收费。
因此,在信息包传输中,加长了包头或正文,虽然会引起传输长度的增加,但由此引起的总开销的增加是有限的。
由上所述,通过利用较长地址字段获取系统结构上的灵活性是值得的。
这个结论特别适合高带宽链路的网络。
在采用低速键路的网络中,由于传输信息长度的增加对信息传送的总开销影响较大,要慎重选择地址空间的大小。
第6节命名系统实例
在本节中,介绍两个有代表性的由局部网络组成的分布系统的命名系统。
由于局部网络的通信速度高、距离短,所以由局部网络组成的分布式系统中处埋机之间通信次数多、传输信息量大、联系较为密切。
本节将介绍APOLLODOMAIN和ACCENT两个分布式系统的命名系统。
§1.APOLLODOMAIN分布式文件系统中的命名系统
APOLLODOMAIN系统是由个人工作站和网络服务器组成的,它提供了-个较完善的分布式环境,用于为一组成员之间相互交换信息,共享资源。
对它的命名系统提出下列要求:
⑴对象所在物理位置的透明性:
当用户或系统管理员把对象在网络中不同计算机结点之间移动时,不需要改变对象的面向用户的标识符,当其他用户访问这个对象时,并不感觉到对象位置已经作了变动。
⑵标识符的一致性:
在不同的计算机结点上的用户或用户程序在访问某一个对象时,所用的对象标识符是同佯的。
在某些系统中,有部分用户在访问某个对象时必须要通过其它用户的协调动作,这将造成标识符的不一致性。
在APOLLODOMAIN分布式系统中不采用这种方案。
⑶对对象访问权限的一致性:
某一用户对对象访问的权限不随该用户所在结点的变化而变化。
除了上述三个基本要求外,在系统设计时还应考虑满足下列要求:
⑴分布式系统的功能是完善的。
世就是说不会由于分布式系统的原因而要求减少某些功能。
⑵系统性能是经过优化了的。
由于在一个复杂的用户程序中,对对象的访问和操作常常占了整个运行时间的很大部分,构成了系统性能的瓶颈,对系统的应用范围影响很大。
有些用户由于顾虑使用了网络以后会使其程序运行时间大大增加,因而放弃了采用分布式系统的方案。
为了优化性能,在设计命名系统时,应尽可能减少映射次数及设计有较快动作时间的映射机构。
⑶便于管理。
当系统中增加一个新的计算机结点,一个新的用户以及一个新的对象时,系统管理程序的开销是很低的。
在APOLLODOMAIN系统中,面向机器的标识符采用64位字长,其组成如图8-6所示。
其中36位字长表示对象的建立时间,20位字长表示对象建立时所在计算机的结点号,余下8位未用。
这样的结构有四个特点:
一是该标识符与对象当前在网络的哪个结点是无关的。
二是该标识符在系统中是唯一的。
因为在网络中各个计算机结点号是不同的,而在同一台计算机中,时间是从一个不断计时的硬件时钟线路中产生,其值是单调上升的。
二者组合之后形成的标识符具有唯一性。
因此,网络中各个计算机结点可以各自产生它所建立的对象的标识符。
三是标识符采用定字长,它的长度对由局部网络组成的系统而言,也不太长。
对它进行传输、复制以及比较等操作都是很容易的。
四是对象标识符的寿命和对象本身的寿命一样长,当对象被删除以后,该对象的标识符即随之消失,不会再被其它对象使用,便于管理。
图8-6DOMAIN系统中面向机器标识符的结构
用户程序利用标识符对对象进行创建、删除、定位、读写等操作,用户程序不需要也不可能指出所找对象的位置,由DOMAIN操作系统按面向机器的标识符找到对象所在位置,当对象在本地磁盘内,就执行磁盘I/O读出;如在远程计算机的磁盘内,就发出网络请求信息,把要求的对象自远程结点调入,如图8-7所示。
DOMAIN操作系统通过一个寻找算法,由对象标识符中找出对象所在的实际地址。
在设计过程中,此算法曾作过多次修改。
寻找算法的核心部分是在操作系统内设立一个叫做提示管理器的机构,它把标识符按对象创建时所在的计算机结点进行分类。
在每一类内,提示管理器的数据库存有一串位置信息,这些信息表示了该分类所属的标识符的对象曾在哪些计算机结点中出现过。
任何结点的操作系统得到有关对象位置变动的信息,都要把它送交给相应的提示管理器。
因此,按照提示管理器中的信息可以很容易找到某一对象所在的位置。
这个寻找算法非常简单,它的主要依据是假定对象从创建它的计算机结点中移出的概率是不高的。
而且当它们移出时,也往往是由于存储介质的移动(例如软盘装入到另一台计算机上),因而同一类对象是一起移动的。
在使用过程中,证实这个假定是符合实际的。
图8-7DOMAIN操作系统:
对象的管理
DOMAIN操作系统对于从磁盘文件中读出的对象,采用缓冲寄存技术,以提高系绕性能。
这一技术虽然与命名系统没有直接关系,但对于需要经常调用非本地结点对象的系统,采用这一技术可以改进系统性能。
现在简略介绍之。
DOMAIN操作系统寻找的对象是在各结点文件中存放的数据库,在数据库中新近被读出的对象称为活跃的对象。
对每一个活跃的对象,DOMAIN操作系统在内存的缓冲寄存器中存放了该对象的全部信息以及对象所在的页面。
当用户程序所寻找的对象不在内存的缓冲寄存区内,DOMAIN操作系统通过提示管理器确定该对象的位置,从相应磁盘中读出该对象的页面,并存入缓冲寄存器。
对已存入缓冲寄存器的对象具有两个饭本。
DOMAIN操作系统对这两个版本的关系规定如下原则:
对大多敌的对象,采用“写回”缓冲技术。
按照这种技术,在缓冲寄存器中修改了的对象并不立即对在磁盘文件中的相应对象作出修改,而是周期性地修改这些对象。
这神策略可以减少对非本地结点的通信开销。
此外,操作系统也提供对指定的对象立即写回的功能,使磁盘文件中的对象副本也立即修改,这对实现并发控制操作是必需的。
在DOMAIN操作系统中面向用户的对象标识符映射成面向机器的对象标识符是通过命名服务器实现的,该服务器内存放由面向用户的标识符和面向机器的标识符组合而成的标识符对偶。
命名服务器是一个树型结构,它的非叶子结点是目录,叶子结点是对象。
像在UNIX操作系统中文件目录的结构一样,每个目录看作为一个对象,不过它的形式是目录。
命名服务器从根部开始逐级读出面向用户的标识符,找出相应的对象标识符,直到最后找到所需对象的标识符。
§2.ACCENT分布式系统的命名系统
ACCENT分布式系统是美国卡内基-梅隆大学使用的网络操作系统。
它是由RIG分布式系统发展而来的,因此我们先介绍RIG系统。
RIG分布式系统建于1975年,网络内有若干台小型机作为网络服务器,并连接一批微处理机作为请求网络提供服务的主机。
提供的服务有网络文件服务、ARPANET入口、打印输出服务等。
网络内各计算机之间的通信采用信息包,发送和接收信息的机构称为端口。
一个RIG端口系指一个在RIG操作系统管理下的信息队列。
每一个端口有一个全局的标识符,它的形式为:
进程编号,端口编号。
每一个端口部属于相应的进程,向进程传送信息也就是向该进程的端口发送信息。
信息包由两部分组成,信息头部及信息本身。
上述的端口标识符命名系统非常简单,在使用中暴露了一系列问题,主要有:
⑴端口缺乏保护,系统中任何一个进程都可以使用端口的全局标识符向端口发送信息,端口所在的进程必须接收发来的信息。
因此,如果在系统中有一个进程故意或错误地向某一端口发送信息,就有可能导致该端口所在进程的工作处于瘫痪,甚至可以引起整个系统瘫痪。
⑵缺乏出错反馈信息。
由于端口的全局标识符只有两个整数,这样简单的结构不可能使发送信息和接收信息的进程相互了解对方的状态。
当某一个进程出错或被取消时,无法自动地通知与它有关的各个