分布式系统概念与范型第二版中文答案

分布式系统概念与范型第二版中文答案
分布式系统概念与范型第二版中文答案

第一章

1.分布式系统的另一个定义,它是各自独立的计算机的集合,这些计算机看起来像是一个单的系统,就是说,它对用户是完全隐藏的,即使他有多个计算机也是如此。请给出一个实例。

答:并行计算。一个程序在一个分布式的系统中运行,但看起来是在单个系统中运行的。

2.中间件在分布式系统中扮演什么角色?

答:中间件主要是为了增强分布式系统的透明性(这正是网络操作系统所缺乏的),换言之,中间件的目标是分布式系统的单系统视图,即使种类各异的计算机和网络都呈现为单个系统。

3.很多网络系统组织成后端办公系统和前端办公系统。这种组织方式是如何满足分布式系统要求的?

答:一个比较容易犯错的地方就是假设运行在一个组织下的分布式系统,应该运行在系统的整个组织框架下。实际上,分布式系统被安装在一个分离的组织中。从这层意义上讲,我们的分布式系统可以支持独立的后端处理和前端处理。当然,这两部分可能是耦合的,并不需要要求这个耦合的部分完全透明。

4. 解释(分布)透明性的含义,并且给出各种类型透明性的例子。

答:分布透明性是一种现象,即一个系统的分布情况对于用户和应用来说是隐藏的。

包括:访问透明:分布式系统中的多个计算机系统运行可能是不同的操作系统,这些操作系统的文件命名方式不同,命名方式的差异以及由此引发的文件操作方式的差异应该对用户和应用程序隐藏起来。

位置透明:从https://www.360docs.net/doc/d418346231.html,/index.htm这个url看不出parentice hall的主web服务器所在的位置,同时也看不出index.html的位置情况。

移植透明:分布式系统中的资源移动不会影响该资源的访问方式。

重定位透明:资源可以在接受访问的同时进行重新定位,而不引起用户和应用系统的注意。移动通信用户从一个点到另一个点,可以一直使用移动设备,而无中断连接。

复制透明:对同一个资源存在多个副本这样一个事实的隐藏。所有的副本同名。

并发透明:访问位于同一个共享数据库中的一批表。

故障透明:用户不会注意到某个资源无法正常工作,以及系统随后的恢复过程。

持久性透明:指对转位于易失性的存储器还是在磁盘上的隐藏。许多面向对象的数据库提供直接调用存储对象的方法的功能。

5. 在分布式系统中,为什么有时难以隐藏故障的发生以及故障恢复过程?

答:通常,要探测一个服务器是停止服务还是该服务器的反应变慢这些情况是不可能的。因此,一个系统可能在服务响应变慢的时候报告该服务已经停止了。例如,连接一台繁忙的web服务器,浏览器超时,报告该web页不可用,这种情况下,用户无法判断该服务器是否真的崩溃了。

6. 为什么有时候要求最大程度地实现透明性并不好?

答:最大程度地实现透明性可能导致相当大的性能损失,从而导致用户无法接受。

例如,许多web程序会不断尝试连接某台服务器,多次失败后才放弃。这种在用户转向另一台服务器之前竭力隐藏服务器短暂故障的企图会导致整个系统变慢。

7. 什么是开放的分布式系统?开放性带来哪些好处?

答:开放的分布式系统根据明确定义的规则来提供服务。开放系统能够很容易地与其它系统协作,同时也允许应用移植到同一个系统的不同实现中。

8. 请对可扩展系统的含义做出准确描述

答:一个系统的可扩展包含下面几个方面:组件的数量、几何尺寸、管理域的数量与尺寸,前提是这个系统可以在上面几个方面进行增加而不会导致不可接受的性能损失。

系统要能在规模上可扩展,即方便的把更多的用户和资源加入到系统中。

地域上可扩展,系统中的用户和资源相隔极远,但仍可访问和使用。

管理上可扩展,分布式系统跨越多个独立的管理机构,仍可方便对其进行管理。

9. 可以通过应用多种技术来取得可扩展性。请说出这些技术。

答:可扩展性可以通过隐藏通信等待时间,分布式技术、复制和缓存来获得。

10.请解释一下什么是虚拟组织,并给出如何实现这种组织的提示。

答:属于同一虚拟组织的人或应用,具有访问提供给该组织的资源的权限。这些资源可能分布在不同的计算机、服务器、数据工具和数据库中。虚拟组织定义了谁能访问什么。

资源应该保持一个账户用户和访问权限,这通常使用了标准的访问控制机制(类似UNIX中的rwx)。

11.当一个事务处理被异常中断,将会恢复到它以前的状态,就像这个事务处理从没有发生过一样。我们这么说其实是不对的。请给出一个无法恢复以前状态的示例。

答:任何情况下,物理端的I/O中断,不能重置。例如,如果一个进程是来打印文件,文件中的墨汁不能从纸中移除。

12.运行嵌套式事务处理需要某种形式的协作,请解释一下协作者真正应该做什么事情? 答:协作者只需要保证嵌套式的事务中止后,所有的子事务都要被中止。同样,如果事务都能够被提交,那么就应该协调他们全部都提交。当协调者告诉嵌套的事务该提交时,事务理解进行提交操作。

13.我们讨论过,对普适系统来说,分布式透明性可能并不存在。这句话并不是对所有的透明性都正确,请给出一个示例。

答:考虑迁移透明性。在普适系统中,组件是可移动的,当从一个接入点移动到另一个接入点时,它可被重新连接。这样的处理应该对用户完全透明。同样,许多其他类型的透明性也会被支持,然后不该隐藏的是用户可能访问的资源与用户本身所处的环境是耦合的。

14.我们已经给出了一些分布式普适系统的示例:家庭系统、电子健保系统和传感器网络,请再给出这样的一个示例。

答:考虑在城市或社区中提供大规模的无线网状网络服务的普适系统,它提供无线上网服务,当然这个也为其他服务,比如新闻系统提供了通信基础。栖息地的监控系统、监狱中的电子监控系统、大型综合体育系统、了解员工状态的办公激励系统等。

第二章

1.如果客户和服务器相隔很远,我们可以看到,网络延时将主导整个性能。我们如何处理这个问题?

答:这实际上取决于客户端是如何组织起来的。首先,将客户端的代码切割成更小的部分,这样它们可以单独运行。这种情况下,当一部分正在等待服务器的响应时,我们可以安排另一部分去做其他的事。或者,我们可以重新安排客户端的处理过程,让他们在向服务器发送客户请求之后去做其他的事情。

最后有效的解决方案是用单程异步通信取代了客户端-服务器的同步通信。

2. 什么是三层客户-服务器体系结构?

答:三层客户——服务器体系结构包括三个逻辑层:用户接口层、处理层和数据层,每一层在理论上来说都在一台单独的机器上实现。最高层包括了客户的用户界面,中间层包括实际的应用程序,最底层包含了被使用的数据。

3. 纵向分布与横向分布有什么不同?

答:纵向分布指的是多台机器组成的多层架构中各个层的分布,通过按逻辑把不同组件放在不同的机器上来获得。从理论上说,每一层都在一台不同的机器上实现。横向分布则处理多台机器上的一个层的分布,客户或者服务器可能在物理上被分隔成逻辑上相对的几个部分,每个部分都操作在整个数据集中自己共享的部分。例如一个数据库的分布。

4. 考虑一个进程链,该进程链由进程P1,P2,…,Pn构成,实现了一个多层客户-服务器体系结构。进程Pi是进程Pi+1的客户,Pi只有得到Pi+1的应答之后才能向Pi-1发出应答。如果考虑到进程P1的请求-应答性能,这种组织结构主要存在什么问题?

答:如果n很大的话性能会很差。从理论上来说,两个邻接层之间的通信应该在两台不同的机器之间发生。因此,P1和P2之间的性能由n-2次其它层之间的请求——应答过程决定。另一个问题是如果链中的一台机器性能很差甚至临时不可达,这会立刻使最高层的性能降低。

5.在结构化的覆盖网络中,消息是根据覆盖的拓扑结构来路由的,这种方法的主要缺点是什么?

答:问题是我们处理的是逻辑路径。很有可能出现的情况是,在覆盖网络中的两个邻居节点A和B,在物理距离上是相距很远的。因此,A和B之间的逻辑最短路径实际上在底层物理网络上是很长的一条路径。

6.图2.8中的CAN网络,如何把坐标(0.2,0.3)的节点的消息路由到坐标为(0.9,0.6)的节点?

答:有几种可能性。如果我们想要根据欧几里得距离得到一条最短路径需要进过的路径是:(0.2,0.3)----(0.6,0.7)----(0.9,0.2),距离是0.882. 另一条路径:(0.2,0.3)---(0.7,0.2) ----(0.9,0.6),距离是0.957

7.假设CAN中的一个节点知道其紧邻节点的坐标,一个合理的路由策略是把消息路由给离目的地最近的节点,这样的策略的好处是什么?

答:从先前的问题可以看出,它不需要去寻找整体最优的路径。如果节点(0.2,0.3)按照题目要求的策略进行,传送到(0.9,06),它先会将节点发送给(0.7,0.2)。

8.在非结构化的覆盖网络中,每个节点随机选择c个邻接节点。如果P和Q都是R的邻接节点,那么P和Q互为邻接节点的概率是多少?

答: 如果网路中有N个节点,如果每个节点随机选择c个邻居,那么P选择Q或Q选择p 的概率就是2c/(N-1)。

9.在非结构化的覆盖网络中,每个节点随机的选择c个邻节点。要查找一个文件,节点将泛洪一个请求给他的邻接点,这些请求又将再次泛洪,该请求将到达多少个节点?

答: 可到达节点的上界是c*(c-1),但是这我们忽略了节点p同样可以成为其他邻居节点的邻居。P的一个邻居泛洪信息给不是P邻居节点的概率是1 减去发送给至少P的一个邻居节点的概率。

这个情况下,泛洪策略将会到达c*(q-1)个节点。例如,c=20, N= 10000 ,那么一次查询将会到达的节点数是365.817个节点。

10.在点对点的网络中,并不是每个节点都能成为超级对等体。满足超级对等体的合理要求是什么?

答:首先,节点是高度可用的,因为其他节点需要依赖该节点。并且,它应该有足够的能力处理各种请求。最重要的是依靠它能够高效快速的处理任务。

11.在Bitgtorren系统中,每个节点具有一个带宽为Bout的输出链接,以及一个带宽为Bin的输入链接。这些节点(称为种子节点)中的一些可以自愿的为其他节点提供下载文件。如果假设在某个时候,一个BitTorrent的系统最多只有一个种子节点,那么他的最大下载带宽是多少?

答:这里需要考虑种子节点的输出带宽需要在客户端间共享。假设有s个种子,N个客户端,每个客户端随机的选择种子。种子节点结合的输出带宽就是S*Bout , 每个客户端有 S*Bout/N的直接下载带宽。另外,如果这些客户端互相协作,每个能够在下载数据块时达到Bout,假定Bin > Bout。因为tit-for-tat策略,一个BitTorrent客户端的下载带宽主要取决于他的输出带宽。所以说,整体的下载带宽能够达到S*Bout/N + Bout.

12.请从技术的角度来解释,为什么BitTorrent中的tit-for-tat策略比因特网中的文件共享要好得多?!

答:大多数的BitTorrent客户端是被例如ADSL或调制解调器所提供的不对称链接所处理的。一般来说,BitTorrent会提供给客户端比较高的进入带宽,但是并不希望客户端可以提供服务。BitTorrent不会使用这种假设,把客户端变成协作服务器。对称连接会比tit-for-tat 策略提供更好的匹配。

13.我们给出了在自适应中间件中使用中断器的示例,请问还有其他什么示例?

答:我们利用拦截器来支持移动性。这种情况下,一个request-level拦截器在转发请求前,首先将查看它所引用的对象的当前位置。同样,当安全出现问题时,一个拦截器可以用来透明的加密消息。另一个例子,如果记录日志是必须的,我们可以简单的插入一个method-specic拦截器在将消息传递给引用对象前,记录该事件。

14.中断器与其部署所在的中间件的依赖程度如何?

答:一般来说,它们之间是高度依赖的。客户端很有可能被中间件所提供的下层接口所约束,正如消息级中断器,它高度依赖中间件和本地操作系统的相互作用。然后,这些接口也可以标准化,便于开发可移植的拦截器,虽然它作为一种特殊类型的中间件。这些中间件需要满足CORBA的体系结构。

15.现代的汽车都装备有电子设备,请给出在汽车中的一些反馈控制系统的示例。

答:巡航控制系统。一方面,巡航控制的子系统掌控着当前的速度,当它达到设定要求时,汽车就会加速或减速。巡航控制系统的设置使驾驶员可以将车速设定在一个固定的速度上,车辆准确地按照所设定的速度行驶。驾驶员可以不必踩加速踏板,从而大大减轻长途驾车的疲劳,同时匀速行驶也可以减少燃油的消耗。

防抱死制动系统(ABS),当刹车时,它是利用阀体内的一个橡胶气囊,在踩下刹车时,给予刹车油压力,充斥到ABS的阀体中,此时气囊利用中间的空气隔层将压力返回,使车轮避过锁死点。防抱死刹车系统可以提高行车时,车辆紧急制动的安全系数。换句话说,没有ABS 的车,汽车在遇紧急情况采取紧急刹车时,容易出现轮胎暴死,也就是方向盘不能转动,这样危险系数就会随之增加,很容易造成严重后果。

车用传感器是汽车计算机系统的输入装置,它把汽车运行中各种工况信息,如车速、各种介质的温度、发动机运转工况等,转化成电讯号输给计算机,以便发动机处于最佳工作状态。

16.请给出自我管理系统的一个示例,其中的分析组件为完全分布式或隐藏的。

答:我们已经遇到很多这种类型的系统,在非结构化的点对点系统中,节点间在进行信息交换,如何生成一个拓扑结构。其分析组件包含放弃那些不会帮助目标拓扑结构收敛的链接。

17.请描述一个解决办法,为Globule中的预测复制自动确定最佳跟踪路径长度。

答:源服务器需要利用Ti到Ti+1的迹线来定期评价策略的预测。判断该策略是否是实际访问模式所选择的在Ti-1到Ti阶段所使用的策略。这样可以帮助服务器计算预测误差。通过改变迹线长度,源服务器能够自动找到预测长度最小的迹线。这样,就可以自动的确定最佳跟踪路径长度。

第3章

1. 比较使用单线程文件服务器读取文件和使用多线程服务器读取文件有什么不同。花费15ms来接收请求、调度该请求并且完成其它必须的处理工作,假定需要的数据存放在主存储器的缓存中。如果需要磁盘操作,就需要额外多花75ms在磁盘操作的过程中线程处于睡眠状态。如果服务器采用单线程的话,它每秒能处理多少个请求?如果采用多线程呢? 答: 在单线程情况下,命中cache花了15ms,未命中cache花了90ms。加权平均值为2/3 X 15 + 1/3 X 90。这意味着请求花了40ms,服务器每秒可以完成1000/40 = 25次。对于多线程,所有磁盘等待都是交迭的,所以每个请求花了15ms, 服务器每秒可以处理1000/15 = 66错误!未找到引用源。 =200/3个请求。

第三章进程

1.

比较使用单线程文件服务器读取文件和使用多线程服务器读取文件有什么不同。花费15ms 来接收请求、调度该请求并且完成其它必须的处理工作,假定需要的数据存放在主存储器的

缓存中。如果需要磁盘操作,就需要额外多花75ms在磁盘操作的过程中线程处于睡眠状态。如果服务器采用单线程的话,它每秒能处理多少个请求?如果采用单线程呢?

答:

在单线程情况下,命中cache花了15ms,未命中cache花了90ms。加权平均值为2/3 X 15 + 1/3 X 90。这意味着请求花了40ms,服务器没秒可以完成25次。对于多线程,所有磁盘等待都是交迭的,所以每个请求花了15ms,服务器每秒可以处理66个请求。

2.

对服务器进程中的线程数目进行限制有意义吗?

答:有。原因有两个:

(1)线程需要内存来设置他们的私有堆栈。因此,线程太多可能导致消耗过多的存储器。(2)更严重的情况是,对于一个操作系统,独立的线程是以无序的方式在运行。在虚拟存储器系统中,构建一个相对稳定的工作环境可能比较困难,从而导致许多的页错误和过多的I/O操作,结果可能导致系统性能的下降。

3、在文中我们描述了一个多线程的文件服务器,说明了为什么它比单线程服务器和有限状态服务器更好。有没有这样的环境,在其中使用单线程服务器会更好?给出这种环境的例子。答:有。如果服务器完全是CPU绑定的,就没有必要使用多线程了。多线程可能只是增加了不必要的复杂性。例如,某个地区拥有1百万人口,现要建立一个数据库来保存每个人的一些信息,如(名字,电话号码),假定每个人的信息大小为64字节,则数据库的总大小为64M字节,为了快速查找,应该把这些数据保存在服务器的存储器中。

4、将轻量级进程与单个线程静态关联起来并不好,为什么?

答:这样的关联将在很大程度上迫使只有一个内核级的线程,这就意味着多线程的性能优势将会被损失掉。

5、如果每个进程只使用单个轻量级进程也不好,为什么?

答:在这种模式下,我们只能拥有用户级的线程,这意味着任何阻塞系统调用都将阻塞整个进程。

6、描述一种使用与可运行线程数目相等的轻量级进程的方法。

答:开始只有单个轻量级进程并让它选择一个可运行的线程。当发现一个可运行的线程后,轻量级进程创建另一个轻量级进程来寻找下一个线程来执行。如果没有找到可运行的线程,轻量级进程就销毁它本身。

7.

9.代理可以通过调用所有副本来支持引用透明性,能否对(服务器端的)对象的副本进行调用?

答:可以。假设一个副本对象A调用另一个对象副本B(非副本),如果A包含K个副本,一个B的调用将会被A的每个副本执行,然而,B应该只被调用一次。这种复制应该采取一些特殊的措施。

10.通过生成进程来构建并发服务器与使用多线程服务器相比有有点也有缺点。给出部分优点和缺点

答:一个重要的优点是每个进程都被保护。在超级服务器处理完全独立的服务的时候是非常

有必要的。另一方面,创建进程的代价也较高,同时,如果进程需要通信,则使用线程在很多情况下将更为简单,因为它避免了用内核来实现通信。

11.粗略地设想一种多线程服务器的设计,该服务器必须使用套接字作为面对底层操作系统的传输级接口,以支持多种协议。

答:一个相对简单的设计是,使一个单一的线程T等待接收传输层消息(TPDU)。如果我们假定每个TPDU的报头包含一个数字来识别更高层的协议,这个线程可以把它传递给处理特定协议的模块。每个这样的模块都有一个专门的线程来处理消息,这些模块把消息看作是一个输入请求。当处理完这个请求后,一个应答消息被传递给T,这时T将把这个应答封装成一个传输层消息并把它传递给适当的目的地。

12.如何防止应用程序绕过窗口管理器破坏屏幕显示。

答:使用微内核方法,一个包含窗口管理器的窗口系统通过这个方法运行,因此所有的窗口操作都需要通过这个微内核。从效果上看,这正是第一章中所讲的把客户端——服务器端模式转换为单计算机的本质。

13.维护到客户的TCP/IP连接的服务器是状态相关的还是状态无关的。

答:假设服务器没有在客户端上保存其它消息,就可能认为服务器是状态无关的。问题在于不是服务器,而是服务器的传输层在客户端上保存了状态。本地操作系统所跟踪的与服务器无关。

14.想象一下,某个web服务器维护一个列表,该列表中的内容是IP地址与该地址最近访问过的web页的映射关系。当一个客户连接到该服务器的时候,该服务器在列表中查找该客户,如果找到的话就返回注册过的页面。这个服务器是状态相关还是状态无关的?

答:是状态无关的。状态无关设计的主要问题不是服务器是否保存了客户端的任何信息,而是所保存信息的准确度。在本例中,如果表丢失了,客户端与服务器还能正常的进行交互,就象什么事都没有发生一样。在一个状态相关设计中,这种交互只有在服务器从错误中恢复过来以后才能进行。

15.在UNIX系统中,可以通过让进程在远程机器上派生出一个子进程来支持强可移植性。请说明这种机制的工作机理。

答:UNIX中派生的意思是把父进程的完整镜像拷贝给子进程,这意味着在调用完fork后,子进程继续运行。一个相似的方法可以用来做远端克隆,这里假定了目标平台与父进程的平台是一样的。第一步是让目标操作系统为新建的子进程保存资源并创建相应的进程和存储器映射。这一步完成之后,父进程的镜像可以被拷贝了,子进程也可以被激活了。

16.图3.13指出,强可移植性不能与在目标进程中已迁移代码的执行结合在一起。请举出一个反例。

答:如果强可移植通过线程迁移发生的话,它就应该能使一个迁移的线程在目标进程的环境中执行。

17.考虑某个进程P,它请求访问与自己位于同一台机器上的本地文件F。在P迁移到另一台机器上以后,它还需要访问F。如果文件对机器的绑定是紧固的,如何实现对F的系统级引用?

答:一个简单的解决方案是,创建一个单独的进程Q,用Q来处理对F的远端请求。提供给进程P与以前一样的接口。例如以代理的形式。从效果上讲,进程Q是作为文件服务器来工作的。

第四章通信

1、在许多分层协议中,每一层都有自己的报头。如果每个消息前部都只有单个报头,其中包含了所有控制信息,无疑会比使用单独的多个报头具有更高的效率。为什么不这么做?答:协议的每一层都必须和其它层相独立。从第k+1层传送至第k层的数据同时包含了报头和数据,但是第k层协议不能对它们进行辨别。如果使用单个大的报头来包含所有信息的话将会破坏透明性,使得一个协议层的变动会影响到其它层,这显然不是我们所希望的。

2、为什么传输层通信服务常常不适于构建分布式应用程序?

答:它们通常不提供分布透明性,这意味着应用程序开发人员需要注意通信的实现,从而导致解决方案的可扩展性很差。分布式应用程序,例如基于套接字构建的分布式应用程序,将很难移植或者和其它应用程序交互。

3、一种可靠的多播服务允许发送者向一组接收者可靠地传递消息。这种服务是属于中间件层还是更低层的一部分?

答:从理论上来说,一种可靠的多播服务可以很容易的成为传输层,甚至是网络层的一部分。例如,不可靠的IP多播服务是在网络层实现的。但是,由于这些服务目前尚无法应用,它们通常使用传输层的服务来实现,传输层的服务将它们放在中间件中。如果把可扩展性加以考虑的话,只有充分考虑应用程序的需求时可靠性才能得到保证。用更高、更特殊的网络层来实现这些服务存在一个很大的争议。

4、考虑一个带有两个整型参数的过程incr。该过程将两个参数的值分别增加1.现在假定调用它时使用的两个参数是同一个变量,比如incr(i, i)。如果i的初始值是0,在执行引用调用之后i将变为什么值?如果使用复制——还原调用呢?

答:如果执行引用调用,指向i的指针被传入incr。i将会被增加两次,因此最终的结果是2。而使用复制——还原调用时,i会被两次传值,每次的初始值均为0。两次都会增加1,因此结果均为1。最后都复制到i,第二次的复制会覆盖第一次的,因此最终i的值为1,而不是2。

5、C语言中有一种称为联合(union)的构造,其中的记录(在C语言中称作结构)的字段可以用来保存几种可能值中的一个。在运行时,没有可靠的办法来分辨其中保存的是那一个值。C的这种特性是否与远程过程调用有某些相似之处?请说明理由。

答:如果运行时系统不能分辨一个字段的值类型,它就不能对该字段进行正确的封送处理。除非有一个标签字段用来清楚的表明一个字段的值类型,联合不能在远程过程调用中使用。这个标签字段不能被用户所控制。

6、处理RPC系统中参数转换的一种方法是,每台机器以自己系统使用的表示方式来发送参数,由另一方在必要的情况下进行转换。可以通过首字节中的代码来表示发送消息机器所用的系统。然而,由于要在首个字中找到开头的字节这本身也是一个问题,这种方法能行得通吗?

答:首先,当一台机器发送字节0时,消息肯定已经送到。因此目标机器可以访问字节0,

而代码就在消息里面。这种方法不考虑字节是高位优先还是低位优先的字节。另一个方法是将代码放在第一个单词的所有字节中。因此不管检查的是哪一个字节,代码都能被找到。

7、假定客户通过异步RPC对服务器进行调用,随后等待服务器使用另一异步RPC返回结果。这种方法与客户端执行常规的RPC有没有什么不同?如果使用的是同步RPC而不是异步RPC,情况又如何呢?

答:二者并不相同。异步RPC向调用者返回一个通知,这意味着客户第一次调用之后,有一个额外的消息会被发送。类似地,服务端接收到它的响应消息已经发送到客户端的通知。如果保证通信可靠的话,两次异步RPC调用是一样的。

8、在DCE中,服务器在守护程序中注册自身。如果换一种方法,也可以总是为它分配一个固定的端点,然后再指向服务器地址空间中对象的引用中就可以使用该端点。这种方法的缺陷在哪里?

答:这种方法的主要缺陷是向服务器分配对象变得很难。另外,许多端点而不止一个需要被修复。如果机器中很多都是服务器,分配固定端点不是一个好办法。

9、给出一种用来让客户端绑定到暂时远程对象的对象应用的实现示例。

答:使用Java实现的类如下:

public class Object_reference {

InetAddress server3address; // network address of object’s server

int server3endpoint; // endpoint to which server is listening

int object3identifier; // identifier for this object

URL client3code; // (remote) file containing client-side stub

byte[] init3data; // possible additional initialization data

}

Object_reference类至少需要包含对象所属的服务器的传输层地址。在具体实现中,使用了一个URL来标识包含了所有必需的客户端代码文件,用一个字节数组来保存进一步初始化后的代码。另一种实现可以直接保存客户端代码而不是一个URL。这种方法将代理对象作为引用传递,Java RMI采用了这种做法。10、Java和其他语言支持异常处理,当错误发生时会引发异常。如何在RPC和RMI中实现异常处理?答:由于异常通常在服务端发生,服务器存根只能捕获这个异常并把它作为一个特殊的错误响应传送给客户端。另一方面,客户存接收这个消息并抛出这个异常以保持对服务器访问的透明性。因此,接口定义语言中也需要有对异常的描述。

10.描述一下客户端和服务器端之间使用套接字的无连接通信是如何进行的。

答:客户端和服务端都需要创建一个套接字,但是只有服务器把套接字绑定到本地的端点上。然后,服务器可以执行一个阻塞的read调用以等待从客户端发送的数据。类似地,在创建套接字之后,客户端仅仅执行一个阻塞调用以向服务端写数据。关闭连接是没有必要的。

11.说明MPI中mp_based原语和mp_isend原语之间的区别。

答:mpi_based原语使用有缓冲的通信,调用者将包含了信息的整个缓冲传送到本地的MPI 运行时系统。当调用完成时,这些信息要么被已被发送,要么被拷贝到一个本地的缓冲区。如果使用mpi_isend,调用者仅仅将指向信息的指针传送给本地的MPI运行时系统,然后继续往下执行。调用者需要保证在消息被拷贝或被传送之前不能覆盖它。

12.假定只能使用暂时异步通信原语,再加上异步receive原语,如何实现用于暂时同步通信的原语?

答:考虑一个同步的send原语。一个简单的实现是使用异步通信向服务器发送一个消息,然后让调用者不停地查询接收到的来自服务器的通知或响应。另一种实现方案是,如果假设本地操作系统将接收的消息保存在一个本地缓冲区中,那么阻塞调用程序直到接收到系统的消息到达信号,之后调用程序执行异步receive。

13.假定只能使用暂时同步通信原语,如何实现用于暂时异步通信的原语?

答:异步send可以通过如下方式实现:调用者将它的消息拷贝到一个缓冲区,实际处理消息发送的进程共享该缓冲区。每当客户端将消息拷贝到缓冲区,消息发送线程被唤醒,它将该消息从缓冲区中删除并使用一个阻塞的send原语将其发送到目标机器。接收方的实现与此类似,它提供缓冲区,一个应用程序可以检查该缓冲区以确定是否有消息。

14.通过RPC实现持久化异步通信有意义吗?

答:仅仅在管理了一个队列的进程通过RPC将消息发送给下一个队列管理器时有意义。一个队列管理器为另一个管理器提供的服务是保存消息,调用的队列管理器可以获得远程队列的一个代理对象,并可能接收到每一个操作成功或失败的状态。使用这种方法时,队列管理器看到的仅仅是队列,而不会发生通信。

15.在本章中我们讲过,为了自动启动一个进程以从输入队列中获取消息,常常要使用守护程序来监视输入队列。请给出一种不使用守护程序的实现方法。

答:一个简单的实现方案是,每当接收端的进程将一条消息放进它的一个队列时,同时检查一下是否接收到了消息。

16.IBM MQSeries以及许多其他消息队列系统中的路由表是人工配置的。描述一种自动完成配置工作的简单方法。

答:最简单的是现实使用一个集中的组件,该组件维护消息队列系统的拓扑结构。它使用一种已知的路由算法来计算各个队列管理器之间的最佳路由,然后为每一个队列管理器生成路由表,这些表可以由各个管理器分别下载。这种方法适合于队列管理器相对较少但是特别分散的消息队列系统。

17.在持久通信中,接收者一般拥有自己的本地缓冲区,如果接收者不在运行状态,可以将消息放入该缓冲区中去。为了创建这种缓冲区,必须指定它们的大小。分成两方进行辩论:一方认为这种指定缓冲区大小的行为是可取的,而另一方反对这种指定大小的行为。

答:用户指定缓冲区大小使得实现更加容易。系统创建一个固定大小的缓冲区,之后缓冲区管理会十分容易。但是,如果缓冲区已满,消息可能会丢失。另一种方案是由通信系统来管理缓冲区大小,首先先制定一个默认大小,然后视情况需要扩充或者压缩缓冲区。这种方法减少了由于缺少空间而导致丢失消息的机率,但是需要系统做更多的工作。

18.请说明为什么暂时同步通信在可扩展性方面存在固有的问题,以及如何解决这些问题。答:问题在于地理上的可扩展性受到了限制。由于同步通信需要调用者被阻塞直到消息被接收,因此,如果接收方相隔较远的话调用者可能需要阻塞很长的时间才能继续运行。解决这个问题的惟一办法是设计调用程序,使得它在发生通信时可以做其它有用的工作,以有效地

实现一种异步通信。

19.给出一个将多播应用于离散数据流的例子。

答:将一个大文件传送给许多用户就是一个例子。例如,更新Web服务或软件发布的镜像站点。

20.

21.当一组计算机组成一个逻辑上或物理上的环时,如何确保传输延迟不超过允许的最大端到端延迟时间?

答:用一个令牌在环上循环,只有当计算机获取到该令牌的时候,它才能通过环发送数据。另外,计算机持有环的时间不能超过T秒。因此,如果假设两台邻接电脑之间的通信是有限制的,那么可以得到令牌循环的最大时间,这个时间就是发送一个包的最大端到端延迟时间。

22.当一组计算机组成一个(逻辑上或物理上的)环时,如何确保传输延迟不小于允许的最小端到端延迟时间?

答:从理论上来说,接收端计算机不应该在特定的时间之前接收数据。唯一的解决方案是将数据包存储在缓冲区中,缓冲可能发生在发送端、接收端或它们之间的某一个环节。缓冲数据最好的地方是在接收端,因为这里没有不可预见的、可能延迟数据传输的障碍。接收端仅需要将数据从缓冲区中删除并将它传送至使用了一个简单的计时机制的应用程序。缺点是必须提供足够的缓冲能力。

23.想象一下,某个令牌存储桶规范说明中的最大数据单元大小是1000B,令牌存储桶速率是10MB/s,令牌存储桶的大小是1MB,而最大传输速率是50MB/s。突发的传输可以以最大传输速率持续传输多长时间?

答:令最大的突发时间间隔为Δt秒。在极端的情况下,存储桶在开始时就已经满了,还有10ΔtMB的数据在该间隔内被传进来。在突发的传输过程中,输出的数据为50ΔtMB,等于(1+10Δt)。因此,Δt等于25毫秒。

第四章

17:如果由用户来指定缓冲区的大小,可以让缓冲区的管理变得更加简单。系统创建了一个指定大小的缓冲区,缓冲区管理变得简单。但是一旦缓冲区被占满,消息就可能丢失。可选的方案就是通过消息传递机制来管理缓冲区空间,最开始创建的时候有一个默认的大小,但可以根据需要扩张或者缩小空间。这个方法减少了由于缺少空间而丢失消息的情况的发生,但是需要系统做更多的工作。

18:问题在于有限的地理空间上的可扩展性。由于同步通信要求在发送的消息被接受之前,发送方会处于阻塞状态,如果接收方离得很远,那么发送方在能继续工作之前会等待很久。解决这个问题的唯一方法是设计一个发送应用,这样就可以在等待过程中执行其他的操作,这样就建立起了一个有效的同步通信机制。

19:将一份大文件传递给多个用户就是这种情况,比如说,为web service或者软件分发更新镜像网站。

20:不一定,如果我们假定操作者仍然需要知道数据是何时测量的,那么在这种情况下,当

测量数据接收的时候就会被加上时间戳,但是这意味着我们仍然需要确保最小化端到端的延迟。

21:用一个令牌在环上循环,只有当计算机获得令牌的时候,才能通过环发送消息。同时,持有令牌的时间不超过T,假设邻接计算机之间的通信有限制,那么令牌就会有一个最大化的循环时间,这对应着最大化的端到端延迟。

22:奇怪的是,这要比确保最大化延迟难得多。问题在于,原则上来说,接收方计算机不应该在已播时间之前接收数据。唯一的问题在于需要尽可能长时间地缓存数据包。缓存可以在发送方、接收方、或者两者之间的位置,比如说中间站。暂存数据的最好的位置应该是在接收方,因为在这个点上没有其他的不可预知的阻塞数据传输的情况发生。接收方需要做的仅仅是将数据从缓冲区中移除,并且根据一个简单的时间机制来将它传递给应用。不足之处在于需要提供足够的缓存空间。

23:这个问题主要是由ISP(即网络服务提供商)造成的,因为他们没有理由去节省带宽(反正他们的用户已经为此付费)。不过,在下述场景中情况肯能会有所改变。网络多播服务为ISP所承诺的服务质量而付费。如果ISP无法满足质量服务的要求,那么他们的收益就会减少。这样的话,他们就有动力提供多播服务,来满足用户的需求。

24:使用关系图的根本假设是通信延迟是影响性能的最大因素。不过在视频多播的例子中,可用性才是占主导的因素。在这种情况下,我们会构建成本最大化的树(通过带宽来衡量)。

25:在gossiping中,节点之间相互交换信息,每一个节点最终都将获取其他节点的信息。每当发现了一个新的节点,都可以用与它在语义上的邻接点来评估,比如,通过计算共有的文件数目。那些语义上最邻近的节点将被用来提交查询请求。

第五章

1:IP地址被用来定位主机。不过访问一个主机,它的IP地址需要被解析成,比如说,一个以太网地址。

2:两个名字都是位置独立的,虽然第一个给出了关于位置的些许暗示。位置独立意味着实体的名称是独立于它的地址的,仅仅考虑一个名称,无法得到关联实体的地址信息。

3:比如:书籍的ISBN码,软硬件产品的标识符,单个组织内的员工号,以太网地址(虽然一些地址是用来标识一台机器而不仅仅是以太网站点)。

4:是的,但信息不允许修改,因为那将导致标识符的改变。旧的标识符需要保持有效,这样改变它将导致一个实体有两个标识符,违反了标识符的第二个属性。

5:将机器的网络地址加上当地时间,产生一个伪随机数。尽管理论上来说,仍然有可能存在着拥有相同数字的机器,但这几率可以忽略不计。

6:节点7:【9,9,11,18,28】。比如,2号入口是这样计算的:succ(7+21)=succ(9)=9。更多的指状表需要进行改变,节点4:【7,7,9,14,28】,节点21:【28,28,28,1,7】,节点1:【4,4,7,9,18】。

7:在N个节点的系统中,超级体的个数等于min{2k-mN,2k}。

8:不需要。考虑前一个问题,假定只有节点7的指状表,而余下的保持原状。最坏的情况是,一个查询节点7的请求被导向了节点9。不过,节点9知道节点7已经加入了系统,所以可以采取正确的动作。

9:问题在于,如果没有结果返回,那么请求客户端将无法发现问题出在哪里。在解析键值的过程中,可能发生消息丢失或者节点失败的情况。因此动态查询有时更受欢迎,这样客户端将知道查询的哪部分出了问题,并可能求助另一个可用的节点。

10:每一个服务都有一个唯一的标识符。任何执行这一服务的服务器,都将把自己的网络地址插入到它所属的子区域的目录节点的位置服务列表中。查询请求使用服务的标识符,并且将会自动返回执行这一服务的最近服务器。

11:所有的主地址组合在一起,形成了根,并且按照相应的方法分离,即每一个移动的实体都有它自己的根服务器。

12:对由实体标识符组成的域D进行简单编码,用于查询操作。操作可以快速定位到目录节点dir(D),从此处开始搜索。

13:改变位置其实就是插入操作以及删除操作的结合。一次插入操作最坏情况下需要改变k+1条位置记录。同样的,一次删除操作也需要改变K+1条记录,并且根记录被两种操作共享。这导致2K+1条记录的改变。

14:将分层的位置服务和前置指针结合起来。当实体移动的时候,它在A点留下了前置指针指向下一个(中间)位置。每次它移动,一个前置指针就留了下来。到达B点之后,实体将它的新地址插入分层位置服务中。指针链随后就被清除,并且A点的指针也被删除。

15:一个重要的前提是我们仅仅使用随机的比特字符串来作为标识符。结果是,我们可以轻松地分割标识符空间,并且为每一部分分别生成相应的根节点。此外,分离的根节点需要跨越不同的网络,这样就可以分别访问根节点。

16:假设已知一个过程是处理URL的,那么它会首先从URL中提取协议标识符,比如ftp:。它随后在表中查找这个字符串,进而找到在本地执行FTP协议的接口。此闭合机制的另一工作就是从URL中提取主机名,比如www.cs.vu.nl,并且将主机名传给本地的DNS名字服务器。了解从何处以及如何与DNS服务器通信也是此闭合机制的重要部分。这通常硬编码进URL名字解析器,解析器执行整个解析过程。最后,URL的最后一部分,指向着查找的文件,被传给标识符主机。后者通过自己的本地闭合机制来开始文件名的名字解析。

17:硬链接是目录文件的一个条目,指向了同样的文件描述器,并成为另一个条目(可能是

在不同的目录上)。符号链接是包含了另一个文件名的文件。而通过软链接,则可以链接到不同的磁盘分区甚至不同的机器。

18:可能不会。由于高层名称服务器构建了DNS名称空间的全局层级,可以认为对这一名称空间的改变很少发生。结果是,从高层名称服务器获取信息非常高效,并且可以避免很多耗时的通信。注意对低层名称服务器来说,递归名称解析是很重要的,因为在这种情况下,在较低层次的服务器域中,名字解析是在本地进行的。

19:移动主机的DNS名字将被用作标识符(虽然不是很好)。每当解析名称的时候,它将返回主机的当前IP地址。这意味着负责提供IP地址的DNS服务器将作为主机的名称服务器。每当主机移动,它就与主服务器通信,将自己的当前地址发送出去。注意需要设置一个避免抓取地址的机制,换句话说,其他的名称服务器不应该获取查找到的地址。

20:使用挂载表,它包含了一个指向挂载点的入口。这意味着当查找一个挂载点的时候,我们需要遍历挂载表来找到与挂载点相匹配的入口。

21:是的,单用户名称空间所提供的名称可以解析为共享的全局名称空间的名称。比如,原则上来说,来自不同名称空间的两个相同的名称是完全独立的,并且可能指代不同的实体。为了共享实体,有必要使用共享名称空间的名称来访问它们。比如,jade依赖于DNS名称和IP地址来访问共享实体(比如FTP站点)。

22:当代表名称服务器的节点NS和节点N不在一个子域中,仅仅提供域名就可以了。在这种情况下,可以通过分离的DNS查询找到名称。当NS和N在同一个子域中时,需要从名称服务器获取它的地址。

23:可以在可能的时候查询实际的内容。在文档的情况下,可以试试信息提取的一些方法,比如矢量空间模型(VSM)。

24:无

第六章

1:首先大气层存在信号传播延迟。其次由于以太网上有WWV接收器的机器会相互竞争,产生冲突,进而导致延迟。第三,LAN上存在数据包传播延迟。最后,当数据包到达处理器,由于打断进程以及内部的队列延迟,每一个处理器内部也都有延迟。

CHAPTER 6

2. Q: Consider the behavior of two machines in a distributed system. Both have clocks that are supposed to tick 1000 times per millisecond. One of them actually does, but the other ticks only 990 times per millisecond. If UTC updates come in once a minute, what is the maximum clock skew that will occur?

答:第2台计算机始终每秒钟发送990000次脉冲,误差为10毫秒,一分钟,这个误差会增至600毫秒。

3、Q: One of the modern devices that have (silently) crept into distributed systems are GPS receivers. Give examples of distributed applications that can makeuse of GPS information.

A: One typical example that comes to mind is sports and health care. There are now

GPS-based body-area networks that allow a person to keep track of his pace while exercising an outdoors sports. These networks are often augmented with heart rate monitors and can be hooked up to a computer to downlaod the sensored data for further analysis. Another example is formed by car-navigation equipment, which is generally based on GPS receivers. Hooked up to a (portable) personal computer that can be connected to the Internet, maps and such can be continously updated. Related are GPS-based distributed systems for tracking the movement of cars and trucks.

4. Q: When a node synchronizes its clock to that of another node, it is generally agood idea to takeprevious measurements into account as well. Why? Also, give anexample of howsuch past readings could be taken into account.

A: The obvious reason is that there may be an error in the current reading. Assuming that clocks need only be gradually adjusted, one possibility is to consider the last N values and compute a median or average. If the measured value falls outside a current interval, it is not taken into account (but is added to the list). Likewise,

a newvalue can be computed by taking a weighted average, or an aging algorithm.

5、Q: Add a newmessage to Fig. 6-0 that is concurrent with message A,that is, it neither happens before A nor happens after A.

答:在0时刻从进程2发送消息,并且在8时刻到达进程1,或者是在0时刻从进程1发送消息并在10时刻到达进程2。这两种方法都可以满足要求。

6. Q: To achieve totally-ordered multicasting with Lamport timestamps, is it strictly necessary that each message is acknowledged?

答:不需要,因为只要发送消息的事件的时间戳在接收消息的事件的时间戳之前,就可以广播发送任意类型的消息。向某一应用进行发送消息m的条件是,当前进程已经收到了来自于其他进行时间戳更大的消息。这个条件保证了没有正在发送着的消息的有更小的时间戳。

7、Q: Consider a communication layer in which messages are delivered only in the order that they were sent. Give an example in which even this ordering is unnecessarily restrictive.

答:想象传输一个大的图像,图像被分成连续的块。每块以它在原始图像中的位置标识,可能还有高度和宽度。如果是那样的话,FIFO的顺序就不是必要的,因为接受者可以很容易地把到来的块拼接到正确的位置。

8、Q: Many distributed algorithms require the use of a coordinating process. To what extent can such algorithms actually be considered distributed? Discuss.

答:在集中式的算法中,常常是固定的进程充当协调者。分布来源于其他进程在不同的机器上运行的事实。在分布式算法中,没有固定的协调者,协调者从组成部分算法的进程中选出。事实是协调者能使算法更具分布性。

9、Q: In the centralized approach to mutual exclusion (Fig. 6-0), upon receiving

a message from a process releasing its exclusive access to the resources it was using, the coordinator normally grants permission to the first process on the queue. Give another possible algorithm for the coordinator .

答:请求会和优先权联系在一起,优先权取决于他们的重要性。协调者应该保证最高优先级的最先请求。

10、Q: Consider Fig. 6-0 again. Suppose that the coordinator crashes. Does this always bring the system down? If not, under what circumstances does this happen? Is there anyway to avoid the problem and make the system able to tolerate coordinator crashes?

答:在允许和拒绝的条件下,假定算法是只要有请求,就立即回应。如果没有进程在临界区并且没有进行在排队,那么这个崩溃不是毁灭性的。下一个请求准许的的进程将不会获得任何回应并且初始一个协调者的选举。在发送回应之前,使用协调者存储每个到来的请求将会使系统更加健壮。这样的话,在崩溃事件中,新的协调者将会重建一个活动临界区域列表并将从磁盘读文件的行为排队。

11、Q: Ricart and Agrawala' s algorithm has the problem that if a process has crashed and does not reply to a request from another process to access a resources, the lack of response will be interpreted as denial of permission. We suggested that all requests be answered immediately to make it easy to detect crashed processes. Are there any circumstances where even this method is insufficient? Discuss.

答:假定一个进程在拒绝许可并在那时崩溃。请求进程会认为它是活动的,但许可永远不会到来。一种方法为是请求者并不真正阻塞,而是休眠一定的时间。在休眠后,请求者将会测试所有拒绝许可的进程是否还是活动的。

12、Q: How do the entries in Fig. 6-0 change if we assume that the algorithms can be implemented on a LAN that supports hardware broadcasts?

答:仅仅只有分布式案例的实体改变。因为发送一个点对点的消息的花费与广播消息一样多,所以我们只需要发送一个广播消息到所有的进程去请求实体到临界区。同样地,仅仅一个出口的广播消息是需要的。延迟变成1+(n-1):一个延迟来源于广播请求,再加上n-1,因为在被允许进入临界区之前,我们仍然需要从其他每个进程接受到消息。

13.Q: A distributed system may have multiple, independent resources. Imagine that process 0 wants to access resource A and process 1 wants to access resource B.Can Ricart and Agrawala' s algorithm lead to deadlocks? Explain your answer.

答:这取决于基础规则,如果说各个进程严格的按照线性时间顺序来访问资源,也就是说一个已经获取某种资源的进程不会在尝试获取另外一种资源,这样的活他也就没有办法在拥有另外一个进程打算获取的资源的时候去阻塞了。那么,系统就不会产生死锁了。另一方面,如果进程0在已经获取资源A的情况下又尝试获取资源B,那么如果另外一个进程此时按照相反的顺序进行操作就有可能产生死锁。因此,算法本身并不会产生死锁,因为每一种资源的处理过程相互之间都是相互独立的。

14、Q: Suppose that two processes detect the demise of the coordinator simultaneously and both decide to hold an election using the bully algorithm. What happens? A: Each of the higher-numbered processes will get two ELECTION messages, but will ignore the second one. The election will proceed as usual.

15、Q: In Fig. 6-0 we have two ELECTION messages circulating simultaneously. While it does no harm to have two of them, it would be more elegant if one could be killed off. Devise an algorithm for doing this without affecting the operation of the basic election algorithm.

答:当一个进程得到了一个ELECTION消息的时候,它将会核对是谁发送了这个消息。如果是它自己发起的,那么他将会把这个消息转换成一个COORDINATOR消息。如果它没有发起任何ELECTION消息,它将会增加自己的进程号然后沿着环路去传递它。然而,如果它确实较早的发送了他自己的ELECTION消息,并且同时发现了一个竞争者,那么它将会比较二者的进程号。如果说另一个进程有一个较小的进程号,他将会把这个消息删除而不是继续传递它。如果说另一个进程的进程号更大,这条消息将会按照正常的机制去传递出去。按照这种方式,如果多个ELECTION消息开始了,那么进程号最大的将会得到响应,剩余的将会被杀死。 CHAPTER 7

1. Q: Access to shared Java objects can be serialized by declaring its methods as being synchronized. Is this enough to guarantee serialization when such an object is replicated?

答: 不能.问题是对每一个复制对象的访问是串行化的.但是对不同的复制对象可以在同一时间进行不同的操作,使得复制的实例变量不一致.

2. Q: Explain in your own words what the main reason is for actually considering weak consistency models.

答: 弱一致性模型的出现是为了满足性能复制的需要.但是,只有当我们能够阻止全局同步, 复制才会有效。而要达到这样的目的,就得放松一致性的限制。

3. Q: Explain how replication in DNS takes place, and why it actually works so well. 答:基本思想是域名服务器预先查询结果。结果可以存在高速缓存中很长一段时间,因为DNS认定主机名——IP地址的映射不会常常改变。

4. Q: During the discussion of consistency models, we often referred to the contract between the software and data store. Why is such a contract needed?

答:如果程序期望连续的一致性的数据存储且不能缺少这些任何数据,存储必须保证连续一致。但是,为了提高性能,一些系统提供弱一点的模式。事实上软件能遵守模式强加的规则。总的说来,这意味着遵守规则的程序可以感知到什么看起来像是连续一致的数据存储。 5. Q: Given the replicas in Fig. 7-0, what would need to be done to finalize the values in the conit such that both A and B see the same result?

A: In this case it is relatively simple: if A and B exchange their list of tentative operations and subsequently order them according the time, then both would get to see the same result.

6、Q: In Fig. 7-0, is 001110 a legal output for a sequentially consistent memory? Explain your answer

答:是的,如果这个进程按照(a),(c),(b),,这个结果就可以获取了。

7、Q: It is often argued that weak consistency models impose an extra burden for programmers. To what extent is this statement actually true?

答:这要看情况。许多程序员习惯于使用同步机制例如锁或通信的方式来保护他们的共享数据。主要意图是他们需要一种能提供只进行读或写操作的方式而不是两者同时进行。但是,程序员非常期望对同步变量的操作一致连续。

8. Q: Does totally ordered multicasting by means of a sequencer and for the sake of consistency inactive replication, violate the end-to-end argument in system design?

A: Yes. The end-to-end argument states that problems should be solved at the same level in which they occur .In this case, we are dealing with the problem of totally ordered multicasting for achieving consistency inactive replication. In primary-based protocols, consistency is achieved by first forwarding all operations to the primary .Using a sequencer, we are actually doing the same but at a lower level of abstraction. In this case, it may have been better to use a primary-based protocol in which updates are propagated by sending operations.

9. Q: What kind of consistency would you use to implement an electronic stock market? Explain your answer .

A: Causal consistency is probably enough. The issue is that reactions to changes in stock values should be consistent. Changes in stocks that are independent can

be seen in different orders.

10. Q: Consider a personal mailbox for a mobile user, Implemented as part of a wide-area distributed database. What kind of client-centric consistency would be most appropriate?

答:所有的类型都可以。关键是不论是写还是更新,邮箱对于用户来说应该都是一样的。对于这种邮箱来说,最简单的实现应该是基于主备份的本地写协议,该协议中主备份总是位于用户的移动电脑上。

11、Q: Describe a simple implementation of read-your-writes consistency for displaying W eb pages that have just been updated.

答:最简单的实现方式是让浏览器一直去检查它是否正在展示最近版本的页面内容。这要求浏览器向WEB服务器发送一个请求。由于这种实现机制已经被很多系统实现了,所以这种实现机制是简单的。

12. Q: To make matters simple, we assumed that there were no write-write confliicts in Bayou. Of course, this is an unrealistic assumption. Explain how confilicts may happen.

答:在描述以客户为中心的一致性模型时,假设每一个数据项都只有一个拥有着,只有该拥有着具有写权限。如果放弃这个假设的话肯定将导致写操作冲突。例如,如果数据的两个独立用户最终都被绑定到了同一个副本上,他们各自的更新都需要被传播到这个副本上。这是,更新冲突就很明显了。

13、Q: When using a lease, is it necessary that the clocks of a client and the server, respectively ,are tightly synchronized?

答:不需要,如果客户端对于其与服务器端同步的等级持一个悲观的态度,那么他将会在当前令牌到期之前去尝试获得一个新的令牌。

14. Q: We have stated that totally ordered multicasting using Lamport' slogical clocks does not scale. Explain why.

A: Lamport's way totally ordered multicasting requires that all servers are up and running, effectively hindering performance when one of them turns out to be slow or has crashed. This will have to be detected by all other servers. As the number of servers grows, this problem is aggravated.

Chapter 7

15、A:正确性公式如下所示:

注意:我们可以在求和过程中将(N - 1)略去。

16、A:如果我们将正值更新和负值更新分离开,并且为各自做分别记录,那么情况就会简单一些。如下所示:

注意:TWP[i, j]恒等于TW[I, j]。每一个节点都记录了视图TWP K[i, j]和TWN K[i, j],并且当它注意到一个新的写操作会增加|TWN[k, k] – TWN K[i, k]| 或者|TWP[k, k] – TWP K[i, k]|时就会提交它的视图。

17、A:不一定。只要更新进程接收到更新正在被处理的确认,该进程就会从数据存储断开并连接另一个副本。但不能保证更新已经到达了那个副本。相比之下,如果存在阻塞协议,更新进程只能在更新被传播到其他副本时才会断开连接。

18、A:不必要。考虑一下在不可修改的数据或者交互的写操作上执行的读操作。这种情况允许在不同副本上有不同的排序。然而,这样就无法检测到两个写操作是否是交互的。

19、A:一种方法可以组播这个操作,但是延迟投递直到序列器(sequencer)为其组播了一个序列号。后一个操作发生在这个操作被序列器接收之后。第三种方法是首先从序列器获得一个个序列号,然后组播该操作。

第一种方法(向序列器传递操作)包括了一个伴随操作的点对点信息传递和一条组播信息。第二种方法需要两条组播信息:一个包含操作,一个包含序列号。第三种方法消耗一条包含序列号的点对点信息,随后传递包含操作的组播信息。

20、A:下列组合是合法的。(1,10)(2,9)(3,8)(4,7)(5,6)(6,5)(7,4)(8,3)(9,2)(10,1)。

21、A:不一定。有一些简单的原因使得一些客户端有必要在更新发生时受到提醒。如果不维持任何状态的话,这些客户端可能会经常性向已经十分繁忙的服务器投票(poll)。

22、设计题。

Chapter 8

1、A:例如,如果因为第三方的恶意篡改导致服务器所提供的响应不可信赖,那么这个系统

就不能认为是可靠系统。同样,服务器也应该信赖其客户端。

2、A:在实践中,服务器在宕机时停止输出,因而检测到服务器停机时比较困难的。而从另

一个过程中可知,服务器可能变得很慢或者通信失败。

3、A:这个问题是否是故障取决于对用户的一致性是如何保证的。如果浏览器保证提供的页

面是至多T个时间单位之前,这种情况可能体现出了性能故障。然而,任何浏览器都不能满足这样的保证。一种一致性的弱形式可以提供第7章中所提到的客户端集中(client-centric)模型。这种情况下,如果仅仅从缓存中返回了页面但没有检查一致性,就可能导致响应故障。

4、A:可以。这个讨论假设了失败的元素(element)会引出随机结果,这与Byzantine故障

是一致的。

5、A:在每一行圆圈中,至多有一个元素会出故障并被掩盖。进一步说,每一组中的一个

voter可能出故障并且在下一个阶段反馈一个出故障的元素。例如,如果六列顶端的元素(element)都出故障,2/3的最终结果会是正确的,从而避免了6个故障所带来的后果。

6、A:是的,奇数都可使用。再有5个元素(element)和5个voter的情况下,每个设备组

中最多有两个错误可以被掩盖。

7、A:对(a)和(b),(at-least-once)策略是最好的。一遍遍尝试是可行并且无害的。对(c),

最好只进行一次尝试。如果失败,用户必须进行干预来清理混乱状况。

8、A:语义通常以与普通RPC相同的方式受到影响。区别是,当客户端被阻塞时,服务器端

并不会处理请求,如果客户端同时崩溃,这样就可能导致问题产生。相反,服务器端执行操作,并且过段时间在必要的情况下联系客户端。

9、A:用小片段组播图像,每个片段信息中包含了(x,y)坐标。又例如,发送一个数的页

面,每个页面都被记数了.

10、A:不必要。在很多情况下,例如传输文件,只有当数据在应用层可用时以上要求才

是必要的。通信层没有必要保留自己的备份。

11、A:取决于一个组内包含了多少进程。重点是,如果考虑到容错需要,进程被复制,

那么只需要几个备份样本就足够了。在这个情况下,可扩展性就不算是一个议题。只有当不同组别的进程生成时,可扩展性就会真正称为一个议题。而当为了性能进行复制时,原子组播就可能被过度使用(overdone)了。

12、A:我们无法做出类似于当一份确认信息发送到客户端时,服务器就执行了操作之类

的保证。然而,使用原子组播策略可以提高容错度,使得开发一个容错系统更加容易。

13、A:单独组播所实现的同步,完全地,保持因果地,先进先出处理。注意:视图变换

是作为特殊的组播信息发生的,也需要适当进行处理。

14、A:

15、A:当进程P接收到Gi+k,P首先向其之前所属的视图和Gi+k中的每一个进程转发

任何不稳定信息的副本,紧接着为Gi+k设置flush message。这样,就可以安全地将信息标记为稳定的。

如果进程Q接收到的信息m是在Gj视图中传送的(jj),m也会被丢弃(复制信息)。如果l=j并且m还未被接收,进程Q在投递m是会考虑所有的额外信息顺序的限制。最后,如果l

16、A:选举之后,新的协调器(coordinator)也可能崩溃。这种情况下,剩余的参与者可能无法达到一个最终的决定,因为最终决定需要来自于新选举出来协调器的投票。

17、A:不对。需要注意的是一个不能参与到其他进程最终决定的恢复进程,将会恢复到一个与其他进程的最终选择相容的状态中。

18、A:通常来说,更多日志信息更好。这些日志信息包含了所有的非决策事件,包括本地I/O和系统调用。

19、A:日志信息记录了事务中的每一次读写操作。当故障发生时,日志可以重演(replay)至上一次有记录的操作。重演日志与回滚有些不同,回滚发生在事务需要被中止时。

20、A:取决于服务器端做了什么。例如,一个已经提交了完整事务的数据库服务器会保留一份日志,保证在恢复时可以重做所有的操作。然而,考虑到分布式系统的状态,没必要执行检查点操作。检查点操作只需要在本地恢复时执行。

21、A:主要的原因是恢复过程是完全本地的。在基于发送方的日志中,恢复过程需要联系发送方重新发送信息。

分布式系统概念与设计(第三版)课后习题与答案Chapter5

Chapter 5Exercise Solutions 5.1The Election interface provides two remote methods: vote: with two parameters through which the client supplies the name of a candidate (a string) and the ‘voter’s number’ (an integer used to ensure each user votes once only). The voter’s numbers are allocated sparsely from the range of integers to make them hard to guess. result: with two parameters through which the server supplies the client with the name of a candidate and the number of votes for that candidate. Which of the parameters of these two procedures are input and which are output parameters? 5.1 Ans. vote: input parameters: name of candidate, voter’s number; result: output parameters: name of candidate, number of votes 5.2Discuss the invocation semantics that can be achieved when the request-reply protocol is implemented over a TCP/IP connection, which guarantees that data is delivered in the order sent, without loss or duplication. Take into account all of the conditions causing a connection to be broken. 5.2 Ans. A process is informed that a connection is broken: ?when one of the processes exits or closes the connection. ?when the network is congested or fails altogether Therefore a client process cannot distinguish between network failure and failure of the server. Provided that the connection continues to exist, no messages are lost, therefore, every request will receive a corresponding reply, in which case the client knows that the method was executed exactly once. However, if the server process crashes, the client will be informed that the connection is broken and the client will know that the method was executed either once (if the server crashed after executing it) or not at all (if the server crashed before executing it). But, if the network fails the client will also be informed that the connection is broken. This may have happened either during the transmission of the request message or during the transmission of the reply message. As before the method was executed either once or not at all. Therefore we have at-most-once call semantics. 5.3Define the interface to the Election service in CORBA IDL and Java RMI. Note that CORBA IDL provides the type long for 32 bit integers. Compare the methods in the two languages for specifying input and output arguments. 5.3 Ans. CORBA IDL:

操作系统概念习题集锦

1 引论 小结 1.计算机系统由硬件和软件组成。硬件是计算机系统的物质基础,操作系统是硬件之上的第一层软件,是支撑其他所有软件运行的基础。 2.多道程序设计是指在内存中同时存放多道程序,这些程序在管理程序的控制下交替运行,共享处理机及系统中的其他资源。在单处理机系统中多道程序运行的特点是:·多道:计算机内存中同时存放多道相互独立的程序。 ·宏观上并行:同时进入系统的多道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕。 ·微观上串行:内存中的多道程序轮流占有CPU,交替执行。 3.操作系统是一组控制和管理计算机硬件和软件资源,合理地组织计算机工作流程,以及方便用户的程序的集合。 4.操作系统有三种基本类型,即批处理操作系统、分时操作系统及实时操作系统。 ·批处理操作系统能对一批作业自动进行处理,在批处理系统中引入多道程序设计技术就形成了多道批处理系统。多道批处理系统的主要特征是用户脱机使用计算机、成批处理及多道程序运行。 ·在分时操作系统中,处理机的运行时间被分成很短的时间片,系统按时间片轮流把处理机分配给各联机作业使用,若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时停止运行,把处理机让给另一个作业使用,等待下一轮时再继续其运行。分时系统的特征是同时性、交互性、独立性和及时性。 ·实时系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致地工作。实时系统的主要特征是响应及时和可靠性高。 5.操作系统的特征是并发性、共享性、虚拟性及不确定性。 ·并发是指两个或多个事件在同一时间间隔内发生。 ·共享是指系统中的资源供多个用户共同使用。

操作系统 习题答案(中文版)

操作系统概第七版中文版习题答案(全) 1.1在多道程序和分时环境中,多个用户同时共享一个系统,这种情况导致多种安全问题。a. 列出此类的问题 b.在一个分时机器中,能否确保像在专用机器上一样的安全度?并解释之。 答:a.窃取或者复制某用户的程序或数据;没有合理的预算来使用资源(CPU,内存,磁盘空间,外围设备)b.应该不行,因为人类设计的任何保护机制都会不可避免的被另外的人所破译,而且很自信的认为程序本身的实现是正确的是一件困难的事。 1.2资源的利用问题在各种各样的操作系统中出现。试例举在下列的环境中哪种资源必须被严格的管理。(a)大型电脑或迷你电脑系统(b)与服务器相联的工作站(c)手持电脑 答:(a)大型电脑或迷你电脑系统:内存和CPU资源,外存,网络带宽(b)与服务器相联的工作站:内存和CPU资源(c)手持电脑:功率消耗,内存资源 1.3在什么情况下一个用户使用一个分时系统比使用一台个人计算机或单用户工作站更好? 答:当另外使用分时系统的用户较少时,任务十分巨大,硬件速度很快,分时系统有意义。充分利用该系统可以对用户的问题产生影响。比起个人电脑,问题可以被更快的解决。还有一种可能发生的情况是在同一时间有许多另外的用户在同一时间使用资源。当作业足够小,且能在个人计算机上合理的运行时,以及当个人计算机的性能能够充分的运行程序来达到用户的满意时,个人计算机是最好的,。 1.4在下面举出的三个功能中,哪个功能在下列两种环境下,(a)手持装置(b)实时系统需要操作系统的支持?(a)批处理程序(b)虚拟存储器(c)分时 答:对于实时系统来说,操作系统需要以一种公平的方式支持虚拟存储器和分时系统。对于手持系统,操作系统需要提供虚拟存储器,但是不需要提供分时系统。批处理程序在两种环境中都是非必需的。 1.5描述对称多处理(SMP)和非对称多处理之间的区别。多处理系统的三个优点和一个缺点? 答:SMP意味着所以处理器都对等,而且I/O可以在任何处理器上运行。非对称多处理有一个主处理器控制系统,与剩下的处理器是随从关系。主处理器为从处理器安排工作,而且I/O也只在主处理器上运行。多处理器系统能比单处理器系统节省资金,这是因为他们能共享外设,大容量存储和电源供给。它们可以更快速的运行程序和增加可靠性。多处理器系统能比单处理器系统在软、硬件上也更复杂(增加计算量、规模经济、增加可靠性) 1.6集群系统与多道程序系统的区别是什么?两台机器属于一个集群来协作提供一个高可靠性的服务器的要求是什么? 答:集群系统是由多个计算机耦合成单一系统并分布于整个集群来完成计算任务。另一方面,多道程序系统可以被看做是一个有多个CPU组成的单一的物理实体。集群系统的耦合度比多道程序系统的要低。集群系统通过消息进行通信,而多道程序系统是通过共享的存储空间。为了两台处理器提供较高的可靠性服务,两台机器上的状态必须被复制,并且要持续的更新。当一台处理器出现故障时,另一台处理器能够接管故障处理的功能。 1.7试区分分布式系统(distribute system)的客户机-服务器(client-server)模型与对等系统(peer-to-peer)模型 答:客户机-服务器(client-server)模型可以由客户机和服务器的角色被区分。在这种模型下,客户机向服务器发出请求,然后服务器满足这种请求。对等系统(peer-to-peer)模

管理信息系统课后答案

《管理信息系统》习题练习(一) 习题1(管理信息系统的定义、概念和结构) 1、管理信息系统是什么?它和一般的计算机应用有什么不同? 答:管理信息系统是一个以人为主导,利用计算机硬件、软件、网络通信设备以及其他办公设备,进行信息的收集、传输、加工、储存、更新和维护,以企业战略竞优、提高效益和效率为目的,支持企业高层决策、中层控制、基层动作的集成化的人机系统。 管理信息系统与计算机应用的不同是:计算机只是管理信息系统的一种工具。没有计算机也有管理信息系统,管理信息系统只有优劣之分,不存在有无的问题。 4、管理信息系统的结构有几个视图?你是否觉得还有另外的视图?是什么?答:总体结构、开环结构、闭环结构、金字塔结构、功能结构、功能-过程结构、软件结构、主机终端网结构、微机网(星形、母线、环形)结构等。 还应该有人-机关系结构。 5、管理信息系统的开发特点是什么?有几种开发方式?各有哪些长处和缺点? 答:(1)必须满足合理确定系统目标、组织系统性队伍和遵循系统工程开发步骤三大系统工程成功要素;(2)耗资巨大、历时相当长;(3)系统分析工作量比重很大;(4)不能较早买机器设备;(5)程序编写要在很晚才进行。 一是按信息系统开发步骤进行:建立领导小组、组成系统、进行系统规划、系统分析、系统设计、系统实现、系统评价、返回系统分析;二是基于企业过程再工程BPR的管理系统变革步骤进行:基于BPR的管理系统变革准备、管理系统与信

息系统规划、住处系统开发和组织设计调整、新系统运行、系统评价、返回准备。前者是从新开始,可以以高起点做到领先,但耗资耗时;后者阻力大、难于达到最优,但见效快、节约时间与成本。 6、生命周期开发方式每分阶段的重点是什么?评述生命周期法开发的问题和困难。 答:(1)系统分析阶段:呈交服务请求、评价服务请求、组织可行性研究队伍、识别约束、提供现有系统文件、调查技术转换、完成建议系统的初步设计、定义项目围、准备收益/成本分析、作出对可行性研究的决策、选定开发队伍、估计和作出人员委托、训练人员、建立详细进度计划、和用户人员交谈、确定数据库要求、建立控制和回转手续;(2)系统设计阶段:完成详细设计、进行用户和信息服务预排、选择硬件、准备草图、描述数据实体说明、准备程序说明、指定主要程序员、排优先和分配程序、调度程序准备、写、调试和文件化程序;(3)切换和实现阶段:完成切换计划、进行系统接收测试、开发用户手册、交用户培训计划、创造和转换文件/数据库、完成并且运行;(4)实现后的评价阶段:更新费用、进行实现后的评价、准备系统评价计划。 问题是耗资耗时,不能早买机器,软件要很晚编写;困难是领导对花钱买设备感到看得见摸得着,而对投资搞规划搞软件却舍不得。 习题2(管理知识基础、信息、系统) 4、什么是数据?什么是信息?试举几个实用例子加以描述。 答:数据是一组表示数量、行动和目标的非随机的可鉴别的符号,数据项可以按使用的目的组织成数据结构;信息是经过加工后的数据,它对接收者的行为能产

分布式大数据库系统复习题

一、何为分布式数据库系统?一个分布式数据库系统有哪些特点? 答案:分布式数据库系统通俗地说,是物理上分散而逻辑上集中的数据库系统。分布式数据库系统使用计算机网络将地理位置分散而管理和控制又需要不同程度集中的多个逻辑单位连接起来,共同组成一个统一的数据库系统。因此,分布式数据库系统可以看成是计算机网络与数据库系统的有机结合。一个分布式数据库系统具有如下特点: 物理分布性,即分布式数据库系统中的数据不是存储在一个站点上,而是分散存储在由计算机网络连接起来的多个站点上,而且这种分散存储对用户来说是感觉不到的。 逻辑整体性,分布式数据库系统中的数据物理上是分散在各个站点中,但这些分散的数据逻辑上却构成一个整体,它们被分布式数据库系统的所有用户共享,并由一个分布式数据库管理系统统一管理,它使得“分布”对用户来说是透明的。 站点自治性,也称为场地自治性,各站点上的数据由本地的DBMS管理,具有自治处理能力,完成本站点的应用,这是分布式数据库系统与多处理机系统的区别。 另外,由以上三个分布式数据库系统的基本特点还可以导出它的其它特点,即:数据分布透明性、集中与自治相结合的控制机制、存在适当的数据冗余度、事务管理的分布性。 二、简述分布式数据库的模式结构和各层模式的概念。 分布式数据库是多层的,国分为四层: 全局外层:全局外模式,是全局应用的用户视图,所以也称全局试图。它为全局概念模式的子集,表示全局应用所涉及的数据库部分。 全局概念层:全局概念模式、分片模式和分配模式 全局概念模式描述分布式数据库中全局数据的逻辑结构和数据特性,与集中式数据库中的概念模式是集中式数据库的概念视图一样,全局概念模式是分布式数据库的全局概念视图。分片模式用于说明如何放置数据库的分片部分。分布式数据库可划分为许多逻辑片,定义片段、片段与概念模式之间的映射关系。分配模式是根据选定的数据分布策略,定义各片段的物理存放站点。 局部概念层:局部概念模式是全局概念模式的子集。局部层:局部模式 局部模式是分布式数据库中关于物理数据库的描述,类同集中式数据库中的模式,但其描述的容不仅包含只局部于本站点的数据的存储描述,还包括全局数据在本站点的存储描述。 三、简述分布式数据库系统中的分布透明性,举例说明分布式数据库简单查询的 各级分布透明性问题。 分布式数据库中的分布透明性即分布独立性,指用户或用户程序使用分布式数据库如同使用集中式数据库那样,不必关心全局数据的分布情况,包括全局数据的逻辑分片情况、逻辑片段的站点位置分配情况,以及各站点上数据库的数据模型等。即全局数据的逻辑分片、片段的物理位置分配,各站点数据库的数据模型等情况对用户和用户程序透明。

操作系统概念第七版习题答案(中文版)完整版

1.1 在多道程序和分时环境中,多个用户同时共享一个系统,这种情况导致多种安全问题。a. 列出此类的问题b.在一个分时机器中,能否确保像在专用机器上一样的安全度?并解释之。 Answer:a.窃取或者复制某用户的程序或数据;没有合理的预算来使用资源(CPU,内存,磁盘空间,外围设备)b.应该不行,因为人类设计的任何保护机制都会不可避免的被另外的人所破译,而且很自信的认为程序本身的实现是正确的是一件困难的事。 1.2 资源的利用问题在各种各样的操作系统中出现。试例举在下列的环境中哪种资源必须被严格的管理。(a)大型电脑或迷你电脑系统(b)与服务器相联的工作站(c)手持电脑 Answer: (a)大型电脑或迷你电脑系统:内存和CPU 资源,外存,网络带宽(b)与服务器相联的工作站:内存和CPU 资源(c)手持电脑:功率消耗,内存资源 1.3 在什么情况下一个用户使用一个分时系统比使用一台个人计算机或单用户工作站更好? Answer:当另外使用分时系统的用户较少时,任务十分巨大,硬件速度很快,分时系统有意义。充分利用该系统可以对用户的问题产生影响。比起个人电脑,问题可以被更快的解决。还有一种可能发生的情况是在同一时间有许多另外的用户在同一时间使用资源。当作业足够小,且能在个人计算机上合理的运行时,以及当个人计算机的性能能够充分的运行程序来达到用户的满意时,个人计算机是最好的,。 1.4 在下面举出的三个功能中,哪个功能在下列两种环境下,(a)手持装置(b)实时系统需要操作系统的支持?(a)批处理程序(b)虚拟存储器(c)分时 Answer:对于实时系统来说,操作系统需要以一种公平的方式支持虚拟存储器和分时系统。对于手持系统,操作系统需要提供虚拟存储器,但是不需要提供分时系统。批处理程序在两种环境中都是非必需的。 1.5 描述对称多处理(SMP)和非对称多处理之间的区别。多处理系统的三个优点和一个缺点? Answer:SMP意味着所以处理器都对等,而且I/O 可以在任何处理器上运行。非对称多处理有一个主处理器控制系统,与剩下的处理器是随从关系。主处理器为从处理器安排工作,而且I/O 也只在主处理器上运行。多处理器系统能比单处理器系统节省资金,这是因为他们能共享外设,大容量存储和电源供给。它们可以更快速的运行程序和增加可靠性。多处理器系统能比单处理器系统在软、硬件上也更复杂(增加计算量、规模经济、增加可靠性) 1.6 集群系统与多道程序系统的区别是什么?两台机器属于一个集群来协作提供一个高可靠性的服务器的要求是什么? Answer:集群系统是由多个计算机耦合成单一系统并分布于整个集群来完成计算任务。另一方面,多道程序系统可以被看做是一个有多个CPU 组成的单一的物理实体。集群系统的耦合度比多道程序系统的要低。集群系统通过消息进行通信,而多道程序系统是通过共享的存储空间。为了两台处理器提供较高的可靠性服务,两台机器上的状态必须被复制,并且要持续的更新。当一台处理器出现故障时,另一台处理器能够接管故障处理的功能。

操作系统概念第七版翻译版高等教育出版郑扣根译

·1.1在多道程序和分时环境中,多个用户同时共享一个系统,这种情况 导致多种安全问题。a. 列出此类的问题b.在一个分时机器中,能否确保像 在专用机器上一样的安全度?并解释之。 Answer:a.窃取或者复制某用户的程序或数据;没有合理的预算来使用资源(CPU,内存,磁盘空间,外围设备)b.应该不行,因为人类设计的任何 保护机制都会不可避免的被另外的人所破译,而且很自信的认为程序本身的 实现是正确的是一件困难的事。 1.2资源的利用问题在各种各样的操作系统中出现。试例举在下列的环境中 哪种资源必须被严格的管理。(a)大型电脑或迷你电脑系统(b)与服 务器相联的工作站(c)手持电脑 Answer: (a)大型电脑或迷你电脑系统:内存和CPU资源,外存,网络带宽(b)与服务器相联的工作站:内存和CPU资源(c)手持电脑:功率消耗, 内存资源 1.3在什么情况下一个用户使用一个分时系统比使用一台个人计算机或单 用户工作站更好? Answer:当另外使用分时系统的用户较少时,任务十分巨大,硬件速度很快, 分时系统有意义。充分利用该系统可以对用户的问题产生影响。比起个人电脑,问题可以被更快的解决。还有一种可能发生的情况是在同一时间有许多另外的用户在同一时间使用资源。当作业足够小,且能在个人计算机上合理的运行时,以及当个人计算机的性能能够充分的运行程序来达到用户的满意时,个人计算机 是最好的,。 1.4在下面举出的三个功能中,哪个功能在下列两种环境下,(a)手持装置 (b)实时系统需要操作系统的支持?(a)批处理程序(b)虚拟存储器(c)分时Answer:对于实时系统来说,操作系统需要以一种公平的方式支持虚拟存储器 和分时系统。对于手持系统,操作系统需要提供虚拟存储器,但是不需要提供分时系统。批处理程序在两种环境中都是非必需的。 1.5描述对称多处理(SMP)和非对称多处理之间的区别。多处理系统的 三个优点和一个缺点? Answer:SMP意味着所以处理器都对等,而且I/O可以在任何处理器上运行。非对称多处理有一个主处理器控制系统,与剩下的处理器是随从关系。主处理器为从处理器安排工作,而且I/O也只在主处理器上运行。多处理器系统能比单处理器系统节省资金,这是因为他们能共享外设,大容量存储和电源供给。它们可以更快速的运行程序和增加可靠性。多处理器系统能比单处理器系统在软、硬件上也更复杂(增加计算量、规模经济、增加可靠性) 1.6集群系统与多道程序系统的区别是什么?两台机器属于一个集群来协 作提供一个高可靠性的服务器的要求是什么? Answer:集群系统是由多个计算机耦合成单一系统并分布于整个集群来完成计 算任务。另一方面,多道程序系统可以被看做是一个有多个CPU组成的单一的 物理实体。集群系统的耦合度比多道程序系统的要低。集群系统通过消息进行通信,而多道程序系统是通过共享的存储空间。为了两台处理器提供较高的可靠性服务,两台机器上的状态必须被复制,并且要持续的更新。当一台处理器出现故障时,另一台处理器能够接管故障处理的功能。 1.7 试区分分布式系统(distribute system)的客户机-服务器(clientserver)模型与对等系统(peer-to-peer)模型

(完整版)管理信息系统-课后习题答案

1、什么是信息?信息、数据有何区别? 答:(1)信息是经过加工并对客观世界产生影响的数据。 区别:数据是客观的,它来源于客观的现实世界,它只反映某一客观存在的事实,而不能说明这一事实与我们的行动是否有关系;信息是对数据加工后的结果,它取决于人们的主观需求,要对人们的决策行动产生影响。 2、试述信息流与物流、资金流、事物流的关系。 信息流伴随物流、资金流、事物流的流动而流动,它既是其他各种流的表现和描述,又是用于掌握、指挥和控制其他流运动的软资源。是各种流控制的依据和基础。 5、为什么说管理信息系统并不能解决管理中的所有问题? 答:管理是一种复杂的获得,它既涉及客观环境,又涉及人的主观因素。由于生产和社会环境的复杂性,也由于事物之间复杂的相互联系和事物的多变性,等等原因,人们在解决管理问题时不可能掌握所有的数据,更不可能把所有的,待选择的解决方案都考虑进去,而管理信息系统解决问题时运行的程序是由人来编写的。管理信息系统是一个人机结合的系统,人不能解决的问题,依靠计算机也无法解决,因此仅靠管理信息系统是无法解决管理中的所有问题的。管理不仅是一门科学更是一门艺术,人们在实施管理的时候,不仅要运用这种科学的方法,还要运用一套技术和处理方式,这些都是管理信息系统所不能及的。 7、试述信息系统对人类生活与工作方式的有利和不利的影响。 答:有利:1、人与人之间的信息交流不再受时间与地域的限制,电子化书信的往来将人们更紧密地联系在一起。2、对文娱与新闻的获取将由被动接受变为主动选取,个性化风格得以增强。3、电子货币与自动购销系统大大方便了人们的消费,改变了人们的生活与消费习惯。4、信息系统的应用使团体工作不必面对面地坐在一起。人们可以在家里办公,并随时保持与同事之间的联系。 不利:1、在全球范围内,随着文化交流的扩大、交流内容的增加与交流方式的便捷,会使某些民族文化受到冲击。2、人们由直接交流变为间接交流,将在某种程度上淡薄感情色彩等等。 8、信息的主要特点(性质)有哪些,试举例说明。 事实性时效性不完全性等级性变换性价值性 供应商、订单 16.1试述订单驱动原理及其在制定供应链计划的重要性 原理供应链企业内部和企业间的一切活动都是围绕订单进行的 重要性:使供应链能够准时响应用户需求,加快物流速度并降低成本 16.2供应链企业在管理上采用纵横一体化的企业集成思想,指的是什么? 指纵向采用MRP II 等产生控制方法;横向采用订单驱动方法,确定完成日期和工作量指标,并进行跟踪监控。 16.3供应商管理库存的优点是什么?如何实现?它的难点是什么? 优点:减少供应链层次,减少管理费用,提升销售额;更好了解需求,资源利用率更高,市场分析结果更准确;库存成本降低,缺货情况减少(经销商) 难点:产品采购数量与采购价格问题 利益分配问题 实际工作的不断调整问题

学生分布式系统复习题与参考答案2

一、填空题 1.访问透明性是指对不同数据表示形式以及资源访问方式的隐藏。而位置透明是用户无法判别资源在系统中的物理位置。 2. 迁移透明性是指分布式系统中的资源移动不会影响该资源的访问方式。而复制透明是指对同一个资源存在多个副本的隐藏。 3. 一个开放的分布式系统就是根据一系列准则来提供服务,这些准则描述了所提供服务的语法和语义。 4. 集群计算系统一个突出的特征是它的同构性;它提供了最大限度的分布式透明性。可用于单个程序在多台计算机上并行地运行。 5. 网格计算系统具有高度的异构性:其硬件、操作系统、网络、管理域和安全策略等都不尽相同。 6. 网格计算系统一个关键问题是如何把来自不同计算机组织的资源集中起来,使一组人或机构进行协调工作。 7. 分布式事务处理的四个特性是:原子性、一致性、独立性和持久性。 8. 分布式普适系统应用程序的需求归纳为三种,它们是:接受上下文的变化、促使自主合成、认可共享为默认行为。 9. 分布式系统体系结构样式很多,其最重要的有:分层体系结构;基于对象的体系结构、以数据为中心的体系结构以及基于事件的体系结构等四类。10. 客户/服务器结构的应用程序通常划分为三层,它们是:用户接口层、处理层和数据层。 11. 在结构化点对点体系结构中覆盖网络是用一个确定性的过程来构成的,这个使用最多的进程是通过一个分布式哈希表来组织进程的。 12. 超级对等体通常是维护一个索引或充当一个代理程序的结点。 13. 分布式软件体系结构主要分集中式、非集中式和各种混合形式三大类。其非集中式体系结构又分为 结构化的点对点、非结构化的点对点、超级对等体 三种。 14. 实现软件自适应的基本技术分为要点分离、计算 映像和基于组件的设计三种类型。 15. 分布式的自主系统指的是自我管理、自我恢复、 自我配置和自我优化等各种自适应性。 16. 一个线程独立地执行它自己的程序代码。线程系 统一般只维护用来让多个线程共享CPU所必需的最 少量信息。 17. 有两种实现线程线程包的基本方法:一是可以构 造一个完全在用户模式下执行的线程;二是由内核 来掌管线程并进行调度。 18. 分布式系统中的多线程通常有:多线程用户和多 线程服务器两大类型。而以分发器/工作者模型组织 起来的多线程服务器是最为流行的一种。 19. 虚拟化可采用两种方法,一是构建一个运行时系 统,提供一套抽象指令集来执行程序。二是提供虚 拟机监视器。 20. 在服务器的组织结构中,迭代服务器是自己处理 请求,将响应返回给客户;而并发服务器将请求传 递给某个独立线程或其他进程来处理。 21. 服务器集群在逻辑上由三层组成,第一层是逻辑 交换机;第二层是应用/计算服务;第三层是文件/ 数据库系统。 22. 在代码迁移的框架结构中,进程包含三个段,它 们是代码段、资源段和执行段三个段。 23. 进程对资源的绑定有三种类型:一是按标识符绑 定;二是按值绑定;三是按类型绑定。而三种类型 的资源对机器的绑定是未连接资源、附着连接资源 和紧固连接资源。 24. 中间件是一种应用程序,它在逻辑上位于应用层 中,但在其中包含有多种通用协议,这些协议代表 各自所在的层,独立于其他更加特别的应用。 25. 在RPC操作中,客户存根的功能是将得到的参 数打包成消息,然后将消息发送给服务器存根。 26. 所有DCE的底层编程模型都是客户-服务器模 型。而DCE本身的一部分是由分布式文件服务、目 录服务、安全服务以及分布式时间服务等构成的。 27. IDL编译器的输出包括三个文件,它们是头文件、 客户存根和服务器存根。 28. 在面向消息的通信中,通常分为面向消息的瞬时 通信和持久通信两种机制。 29. 在面向消息的瞬时通信中,通常采用套接字接口 和消息传递接口。 30. 在面向持久的通信中,消息队列系统为持久异步 通信提供多种支持。它提供消息的中介存储能力。 31. 在消息队列系统中,队列由队列管理器来管理, 它与发送或接收消息的应用程序直接交互。 32. 在消息队列系统中,转换是由队列网络中特定结 点完成的,这些结点称为消息转换器。 33. 在面向流的通信中,数据流的传输模式有异步传 输模式、同步传输模式和等时传输模式等三种。 34. 在流与服务质量(QOS)描述中,服务质量特性指 的是数据传输所要求的比特率、创建会话的最大延 时、端到端的最大延时、最大延时抖动以及最大往 返延时等。 35. 流同步有两种类型,一种是在离散数据流与连续 数据流之间保持同步;另一种是连续数据流之间的 同步。 36. 在流同步的机制中,需要研究的两个问题是:一 个是两个流同步的基本机制;二是在网络环境下这 些机制的分布式版本。 37. 应用层多播的基本思想是结点组织成一个覆盖 网络,然后用它来传播信息给其成员。一个重要的 因素是网络路由器不在组成员中。

操作系统概念第七版7-9章课后题答案(中文版)

7.1 假设有如图7.1所示的交通死锁。 a.证明这个例子中实际上包括了死锁的四个必要条件。 b.给出一个简单的规则用来在这个系统中避免死锁。 a.死锁的四个必要条件: (1)互斥;(2)占有并等待;(3)非抢占;(4)循环等待。 互斥的条件是只有一辆车占据道路上的一个空间位置。占有并等待表示一辆车占据道路上的位置并且等待前进。一辆车不能从道路上当前的位置移动开(就是非抢占)。最后就是循环等待,因为每个车正等待着随后的汽车向前发展。循环等待的条件也很容易从图形中观察到。 b.一个简单的避免这种的交通死锁的规则是,汽车不得进入一个十字路口如果明确地规定, 这样就不会产生相交。 7.2 考虑如下的死锁可能发生在哲学家进餐中,哲学家在同个时间获得筷子。讨论此种情况下死锁的四个必要条件的设置。讨论如何在消除其中任一条件来避免死锁的发生。 死锁是可能的,因为哲学家进餐问题是以以下的方式满足四个必要条件:1)相斥所需的筷子, 2 )哲学家守住的筷子在手,而他们等待其他筷子, 3 )没有非抢占的筷子,一个筷子分配给一个哲学家不能被强行拿走,4 )有可能循环等待。死锁可避免克服的条件方式如下: 1 )允许同时分享筷子, 2 )有哲学家放弃第一双筷子如果他们无法获得其他筷子,3 )允许筷子被强行拿走如果筷子已经被一位哲学家了占有了很长一段时间4 )实施编号筷子,总是获得较低编号的筷子,之后才能获得较高的编号的筷子。 7.3 一种可能以防止死锁的解决办法是要有一个单一的,优先于任何其他资源的资源。例如,如果多个线程试图访问同步对象A?…E,那么就可能发生死锁。(这种同步对象可能包括互斥体,信号量,条件变量等),我们可以通过增加第六个对象来防止死锁。每当一个线程希望获得同步锁定给对象A???E,它必须首先获得对象F的锁.该解决方案被称为遏制:对象A???E的锁内载对象F的锁。对比此方案的循环等待和Section7.4.4的循环等待。 这很可能不是一个好的解决办法,因为它产生过大的范围。尽可能在狭隘的范围内定义死锁政策会更好。 7.4 对下列问题对比循环等待方法和死锁避免方法(例如银行家算法): a.运行费用 b.系统的吞吐量 死锁避免方法往往会因为追踪当前资源分配的成本从来增加了运行费用。然而死锁避免方法比静态地防止死锁的形成方法允许更多地并发使用资源。从这个意义上说,死锁避免方案可以增加系统的吞吐量。 7.5 在一个真实的计算机系统中,可用的资源和进程命令对资源的要求都不会持续很久是一致的长期(几个月)。资源会损坏或被替换,新的进程会进入和离开系统,新的资源会被购买和添加到系统中。如果用银行家算法控制死锁,下面哪

操作系统概念第七版期末考试

操作系统期末考试试卷(B) 计算机科学系______级______科______班姓名__________学号__________ 题号一二三四总分 分数 ?、 填空(1%×30) ★该题答写在本卷纸上★ 1.操作系统的基本类型有1)____________________ 2)____________________ 3)____________________4)___________________5)___________________ _ 和6)分布式操作系统等。 2.常用的进程调度算法和作业调度算法有1)____________________ 2)___________________ 3)___________________ 4)____________________ 5)____________________ 和6)最高相应比优 先(HRN)算法等。 3.作业调度的目标主要有1)____________________ 2)____________________ 3)____________________4)___________________。 4.内存管理要解决的问题有1)_________________ 2)____________________ 3)____________________4)___________________5)___________________ 。 5.常用的内存管理方法有1)单一连续区管、2)___________________ 3)___________________ 和4)____________________等。 6.作业由1) 程序、2)__________________和3)__________________组成。 1

管理信息系统课后习题答案

第一章管理信息系统概论 1、请阐述信息管理和管理信息系统的区别和联系 2、结合一个实例,说明管理信息系统是人机一体化的系统。 3、从管理层次分类看,不同层次的管理信息系统在目的和功能上有何不同? 4、什么是?结合实例说明它有哪些应用。 5、什么是电子商务?它和管理信息系统有何联系? 6、管理信息系统发展历经了哪些阶段?各个阶段的典型应用技术是什么? 7、决策支持系统的基本特征是什么? 四、简答题 1、答:区别:信息管理的对象是信息以及与之相关的信息活动,信息活动包括信息的收集、存储、加工、传递和运用等,信息管理是管理的一种;而管理信息则是指经过加工处理后对企业生产经营活动产生影响的数据,是信息的一种。联系:管理信息是信息的一种,因此管理信息时信息管理的对象,是信息管理重要的资源,是科学决策的基础以及实施信息管理控制的依据。 2、略

、答:管理信息系统按照管理任务的层次由高到低进行划分可3.分为战略管理层、战术管理层和作业管理层。战略层的目的是支持企业的战略性的决策,系统的功能表现为全局性、方向性,或关系到企业竞争能力的重要问题的分析与决策。战术层和作业层管理的主要目的则是提高工作效用和工作效率,管理信息系统为战术层提供资源配置、运作绩效等经营状态的分析评估和计划落实的控制优化等功能,为作业层提供准确便捷的数据收集处理功能。 4、答: ( )客户关系管理,客户关系管理包括企业识别、挑选、获取、发展和保持客户的整个商业过程。其核心是客户价值管理,它将客户价值分为既成价值、潜在价值和模型价值,通过一对一营销原则,满足不同价值客户的个性化需求,提高客户忠诚度和保有率,实现客户价值持续贡献,从而全面提升企业盈利能力。目前在银行、通信、商贸等大型服务企业中得到较为理想的应用。 5、答:电子商务就是企业利用现代信息技术,特别是互连网技术来改变商务活动中的信息流程,从而改变业务流程,提高企业竞争力的一切商务活动。它包括了企业内部的协调与沟通、企业之间的合作及网上交易等三方面的内容。电子商务也是一类管理信息系统,但管理信息系统不一定需要应用互联网技术,而电子

分布式系统复习题及参考答案

关于分布式系统复习题与参考答案 一、填空题(每题n分,答错个扣分,全错全扣g,共计m分) 1.访问透明性是指对不同数据表示形式以及资源访问方式的隐藏。而位置透明是用户无法判别资源在系统中的物理位置。 2. 迁移透明性是指分布式系统中的资源移动不会影响该资源的访问方式。而复制透明是指对同一个资源存在多个副本的隐藏。 3. 一个开放的分布式系统就是根据一系列准则来提供服务,这些准则描述了所提供服务的语法和语义。 4. 集群计算系统一个突出的特征是它的同构性;它提供了最大限度的分布式透明性。可用于单个程序在多台计算机上并行地运行。 5. 网格计算系统具有高度的异构性:其硬件、操作系统、网络、管理域和安全策略等都不尽相同。 6. 网格计算系统一个关键问题是如何把来自不同计算机组织的资源集中起来,使一组人或机构进行协调工作。 7. 分布式事务处理的四个特性是:原子性、一致性、独立性和持久性。 8. 分布式普适系统应用程序的需求归纳为三种,它们是:接受上下文的变化、促使自主合成、认可共享为默认行为。 9. 分布式系统体系结构样式很多,其最重要的有:分层体系结构;基于对象的体系结构、以数据为中心的体系结构以及基于事件的体系结构等四类。 10. 客户/服务器结构的应用程序通常划分为三层,它们是:用户接口层、处理层和数据层。 11. 在结构化点对点体系结构中覆盖网络是用一个确定性的过程来构成的,这个使用最多的进程是通过一个分布式哈希表来组织进程的。 12. 超级对等体通常是维护一个索引或充当一个代理程序的结点。 13. 分布式软件体系结构主要分集中式、非集中式和各种混合形式三大类。其非集中式体系结构又分为结构化的点对点、非结构化的点对点、超级对等体三种。 14. 实现软件自适应的基本技术分为要点分离、计算映像和基于组件的设计三种类型。 15. 分布式的自主系统指的是自我管理、自我恢复、自我配置和自我优化等各种自适应性。 16. 一个线程独立地执行它自己的程序代码。线程系统一般只维护用来让多个线程共享CPU 所必需的最少量信息。 17. 有两种实现线程线程包的基本方法:一是可以构造一个完全在用户模式下执行的线程;二是由内核来掌管线程并进行调度。 18. 分布式系统中的多线程通常有:多线程用户和多线程服务器两大类型。而以分发器/工作者模型组织起来的多线程服务器是最为流行的一种。 19. 虚拟化可采用两种方法,一是构建一个运行时系统,提供一套抽象指令集来执行程序。二是提供虚拟机监视器。 20. 在服务器的组织结构中,迭代服务器是自己处理请求,将响应返回给客户;而并发服务器将请求传递给某个独立线程或其他进程来处理。 21. 服务器集群在逻辑上由三层组成,第一层是逻辑交换机;第二层是应用/计算服务;第三层是文件/数据库系统。 22. 在代码迁移的框架结构中,进程包含三个段,它们是代码段、资源段和执行段三个段。 23. 进程对资源的绑定有三种类型:一是按标识符绑定;二是按值绑定;三是按类型绑定。而三种类型的资源对机器的绑定是未连接资源、附着连接资源和紧固连接资源。 24. 中间件是一种应用程序,它在逻辑上

管理信息系统课后习题及参考答案

第1章 1.什么就是信息,什么就是数据?简述二者之间的联系与区别。 2.什么就是信息循环? 3.简述信息的层次与信息的类型及主要特性。 4.简述管理信息的特点。 6.简述信息系统的定义。 7.什么就是管理信息系统,它有什么特点? 第2章 1.建设管理信息系统方法应包含的内容主要有哪些? 2.简述管理信息系统的生命周期。 3.结构化方法的基本思想就是什么? 4.什么就是结构化生命周期法? 5.什么就是快速原型法? 6.简述在系统分析阶段使用原型法的开发过程。 7.试述本教材为什么选择结构化生命周期法作为重点讲述内容。 8.管理信息系统的开发方式有哪些? 第3章 1.试述系统规划的主要目标与任务。 2.试述系统规划工作的主要特点与关键问题。 3.什么就是管理信息系统开发中的系统分析?其主要目标与活动内容有哪些?系统分析工作的主要特点就是什么? 4.初步调查的内容主要有哪些? 5.可行性研究的目的就是什么?

6.可行性研究主要从哪几个方面去考察?简述其内容。 第4章 1.简述需求分析中现行系统调查、新系统逻辑方案的提出等活动的详细内容、关键问题、主要成果及其描述方法。 2.为什么数据流图要分层? 3.简述分层数据流图的组成与基本符号以及绘制步骤。 4.简述数据词典在需求分析中的作用与编写数据词典的基本要求。 5.什么就是基本加工?描述表达基本加工逻辑功能的结构化工具有那些?特点 就是什么? 6.某银行发放贷款原则如下: (1)对于贷款未超过限额的客户,允许立即贷款; (2)对于贷款已超过限额的客户,若过去还款记录好且本次贷款额在2万元以下,可作出贷款安排,否则拒绝贷款。 请用结构化语言、决策表来描述该原则。 7.依据如下决策表,画出决策树。 信件收费决策表 8.下面就是对银行取款活动的描述: 储户携带存折前去银行,把存折与填好的取款单一并交给银行工作人员检验。工作人员需核对帐目,发现存折有效性问题、取款单填写问题或就是存折、

分布式系统试题及答案

分布式系统复习题库及答案 1、计算机系统的硬件异构性、软件异构性主要表现在哪几方面? 参考答案: 计算机系统的硬件异构性主要有三个方面的表现,即: ①计算机的指令系统不同。这意味着一种机器上的程序模块不能在另一种不兼容的机器上执行,很显然,一种机器上的可执行代码程序不能在另一种不兼容的机器上执行。 ②数据表示方法不同。例如不同类型的计算机虽然都是按字节编址的,但是高字节和低字节的规定可能恰好相反。浮点数的表示方法也常常不一样。 ③机器的配置不同。尽管机器的类型可能相同,其硬件配置也可以互不兼容。 计算机系统的软件异构性包括操作系统异构性和程序设计语言异构性。 操作系统异构性的三个主要表现方面为: ①操作系统所提供的功能可能大不相同。例如,不同的操作系统至少提供了不同的命令集。 ②操作系统所提供的系统调用在语法、语义和功能方面也不相同。 ③文件系统不同。 程序设计语言的异构性表现在不同的程序设计语言用不同方法在文件中存储数据。 2、由于分布计算系统包含多个(可能是不同种类的)分散的、自治的处理资源,要想把它们组织成一个整体,最有效地完成一个共同的任务,做到这一点比起传统的集中式的单机系统要困难得多,需要解决很多新问题。这些问题主要表现在哪些方面? 参考答案: ①资源的多重性带来的问题。由于处理资源的多重性,分布计算系统可能产生的差错类型和次数都比集中式单机系统多。最明显的一个例子是部分失效问题:系统中某一个处理资源出现故障而其他计算机尚不知道,但单机系统任何一部分出现故障时将停止整个计算。另一个例子是多副本信息一致性问题。可见,资源多重性使得差错处理和恢复问题变得很复杂。资源多重性还给系统资源管理带来新的困难。 ②资源的分散性带来的问题。在分布计算系统中,系统资源在地理上是分散的。由于进程之间的通信采用的是报文传递的方式进行的,通信将产生不可预测的、有时是巨大的延迟,特别是在远程网络所组成的分布计算系统中更是这样。例如使用卫星通信会产生270毫秒的延迟。在分布计算系统中,系统的状态信息分布在各个分散的节点上。分布式的状态信息和不可预知的报文延迟使得系统的控制和同步问题变得很复杂,要想及时地、完整地搜集到系统各方面的信息是很困难的,从而使处理机进行最佳调度相当困难。 ③系统的异构性带来的问题。在异构性分布计算系统中,由于各种不同资源(特别是计算机和网络)的数据表示和编码、控制方式等均不相同,这样一来就产生了翻译、命名、保护和共享等新问题。 由于上述原因,分布计算系统的研制,特别是软件的验证、调试、测量和维护问题变得很复杂。这些正是分布计算系统研制者要解决的主要问题。 3、分布式计算系统具有透明性时,系统有什么主要优点? 参考答案: 系统具有透明性时有以下一些优点: ①使软件的研制变得容易,因为访问资源的方法只有一种,软件的功能与其位置无关。 ②系统的某些资源变动时不影响或较少影响应用软件。

相关文档
最新文档