文档库 最新最全的文档下载
当前位置:文档库 › 分布式系统复习题及参考答案

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

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

关于分布式系统复习题与参考答案

一、填空题(每题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. 中间件是一种应用程序,它在逻辑上

位于应用层中,但在其中包含有多种通用协议,这些协议代表各自所在的层,独立于其他更加特别的应用。

25. 在RPC操作中,客户存根的功能是将得到的参数打包成消息,然后将消息发送给服务器存根。

26. 所有DCE的底层编程模型都是客户-服务器模型。而DCE本身的一部分是由分布式文件服务、目录服务、安全服务以及分布式时间服务等构成的。

27. IDL编译器的输出包括三个文件,它们是头文件、客户存根和服务器存根。

28. 在面向消息的通信中,通常分为面向消息的瞬时通信和持久通信两种机制。

29. 在面向消息的瞬时通信中,通常采用套接字接口和消息传递接口。

30. 在面向持久的通信中,消息队列系统为持久异步通信提供多种支持。它提供消息的中介存储能力。

31. 在消息队列系统中,队列由队列管理器来管理,它与发送或接收消息的应用程序直接交互。

32. 在消息队列系统中,转换是由队列网络中特定结点完成的,这些结点称为消息转换器。

33. 在面向流的通信中,数据流的传输模式有异步传输模式、同步传输模式和等时传输模式等三种。

34. 在流与服务质量(QOS)描述中,服务质量特性指的是数据传输所要求的比特率、创建会话的最大延时、端到端的最大延时、最大延时抖动以及最大往返延时等。

35. 流同步有两种类型,一种是在离散数据流与连续数据流之间保持同步;另一种是连续数据流之间的同步。

36. 在流同步的机制中,需要研究的两个问题是:一个是两个流同步的基本机制;二是在网络环境下这些机制的分布式版本。

37. 应用层多播的基本思想是结点组织成一个覆盖网络,然后用它来传播信息给其成员。一个重要的因素是网络路由器不在组成员中。

38. 在覆盖网络构建时,主要有两种方法,一种是结点本身直接组织成树;另一种是结点组织成一个网状网络。

39. 应用层多播树的质量通常以三种不同的尺度来度量,一是链接树;二是相对延时补偿;三是树成本。

40. 在基于gossip的数据通信中,通常采用感染协议传播信息。一种流行的传播模型是anti-entropy。

41. 分布式系统中,有三种不同的命名系统,它分别是无层次命名;结构化命名和基于属性的命名。

42. 在无层次命名中,通常有广播和多播、转发指针、基于宿主位置、分布式散列表、分层结构等方法实现实体定位。

43. 基于属性的命名系统实现的方式有两种。一种是分层实现,使得目录项集合形成了分层的目录信息树。而另一种是非集中式实现,它是采用映射到分布式散列表的方式。

44. GPS使用了29颗卫星,每个卫星使用4个原子时钟,这些时钟由地面上的特定基站进行校准。

45. 一次将所有的消息以相同的顺序传送给每个接收的多播操作称为全序多播。Lamport时间戳可以用于以完全分布式的方式实现。

46. 向量时钟能捕获因果关系。创建向量时钟是让每个进程Pi维护一个向量VCi来完成。

47. 互斥集中式算法的优点是易于实现、很公平、保证了顺序一致性。而缺点是协作者是单个故障点,如果它崩溃了,整个系统可能瘫痪。

48. 分布式互斥算法的优点是不会发生死锁与饿死现象,也不存在单个故障点。其缺点是单个故障点被n个故障点所代替,所以故障率高;要求更多的网络流量。

49. 分布式系统中的互斥算法有四种类型,一是集中式算法、二是非集中式算法、三是分布式算法、四是令牌环算法。

50. 分布式系统中,传统的选举算法有两种,一是欺负选举算法;二是环选举算法。

51. 网络协议有三要素组成,时序是对事件实现顺序的详细说明;语义是指需要发出何种控制信息以及要完成的动作与作出的响应;语法是指用户数据与控制信息的结构与格式。52. 高速缓存相关性协议的设计与实现是基于两种策略的:一是相关性检测策略;二是相关性实施策略。

53. 令牌环算法每次进/出需要的消息数是1~∞;进入前的延迟是0~n-1;但存在令牌丢失和进程崩溃的问题。

54. 在开发的持久一致性协议中,有三种限定的偏差:它们是限定复制的数字偏差、限定复制的新旧程度偏差和限定顺序偏差。

55. 软件自适应的基本技术有3种,一是要点分离、二是计算映像、三是基于组件的设计。

56. TCP/IP体系结构的传输层上定义的两个传输协议为传输控制协议(TCP)和用户数据报协议(UDP)。

57. 常用的进程调度算法有先来先服务、优先数法和轮转法

58. 进程的三个基本状态是就绪、执行、等待(阻塞)。

59. 进程是程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位

60. 进程通常的四个特征是动态性,并发性,独立性,异步性。

61. 解决死锁的基本方法包括预防死锁,避免死锁,死锁检测,死锁恢复。

62. 在引进线程的操作系统中,调度和分派的基本单位是线程,拥有资源的单位是进程。

63. 在分布式系统中,挂载外部名称空间至少需要的信息是:访问协议的名称、服务器的名称和外部名称空间中挂载点的名称。

64. 在名称空间的实现中,为了有效实现名称空间,通常把它划分为逻辑上的三层,其三层指的是全局层、行政层和管理层。

65. 在名称解析的实现中,通常采用两种方法,一是迭代名称解析;二是递归名称解析。

66. 在逻辑时钟算法中,Lamport定义了一个称作“先发生”的关系,表达式a b表示a在b之前发生。先发生关系是一个传递关系。

67. 在以数据为中心的一致性模型中,顺序一致性是指“任何执行结果都是相同的,所有进程对数据存储的读/写操作是按某种序列顺序执行的,并且每个进程的操作按照程序所制定的顺序出现在这个序列中”。

68. 在因果一致性中,所有进程必须以相同的顺序看到具有潜在因果关系的写操作。不同机器可以以不同的顺序看到并发的写操作。

69. 以客户为中心的一致性模型中,满足最终一致性的数据存储具有以下属性:没有更新操作时,所有副本逐渐成为相互完全相同的拷贝。

70. 以客户为中心的一致性模型中,一个写操作总是在同一进程执行的后续读操作之前完成,而不管这个后续的读操作发生在什么位置。

71. 在一致性协议中,基于主备份的协议比较盛行,它包括远程写协议和本地写协议两种。

72. 在一致性协议中,复制的写协议包括主动复制和基于多数表决的一致性协议两种。

73. 在容错性中,故障通常被分为暂时性故障、间歇性故障和持久性故障三大类型。

74. 如果系统是容错的,使用冗余掩盖故障的方法有信息冗余、时间冗余和物理冗余三种。

75. 在可靠的客户-服务器通信中,失败时的RPC系统中发生客户不能定位服务器、请求消

息丢失、服务器崩溃、应答消息丢失和客护端崩溃等5种形式。

76. 在原子多播里,消息排序通常有4种不同的排序方法,它们分别是:不排序的多播、FIFO 顺序的多播、按因果关系排序多播和全序多播。

77. 容错性的基本要求是从错误中恢复,本质上有两种形式的错误恢复,一是回退恢复;另一种是前向恢复。

78. 在分布式安全性中,通常考虑计算机系统受到的安全威胁有窃听、中断、修改和伪造等四种。

79. 安全策略准确地描述系统中的实体能够采取的行为以及禁止采取的行为。

80. 安全机制包括加密、身份认证、授权和审计等四个部分。

81. 分布式加密系统通常有三种类型,一是对称加密系统(DES);二是公钥加密系统(RSA)、三是散列函数(MDS)系统。

82. 身份认证是一种会话密钥,常用的身份认证有基于共享密钥的身份认证、使用密钥分发中心的身份认证、使用公钥加密的身份认证三种类型。

83. 消息的完整性是指保护消息免受修改;其机密性确保窃听者不能截获和读取消息。

84. 在安全通道中,为了使消息完整性和机密性。通常采用数字签名和会话密钥的加密算法实现安全通道的数据交换。

85. 在安全组通信中,要确保机密性,机密组通信使用公钥加密系统可以解决;而安全的复制服务器组中共享一个保密签名的方法。

86. 在访问控制中,要建立主体对对象的访问权限,其普通方法是构造一个访问控制矩阵,而访问控制列表(ACL)和权能列表来实现。

87. 防火墙通常分为两种不同的类型,一种是数据包过滤网关;另一种是应用层的网关。

88. 在分布式系统安全管理中,主要分密钥管理、安全组管理以及授权管理三大内容。

89. 在容错性中,人们定义了一些不同类型的故障,主要的有崩溃性故障、遗漏性故障、定时性故障、响应性故障以及随意性故障等五大类。

90. 在容错性中,消息日志的基本思想是:如果消息的传输可以重放,那就能够到达一个全局一致的状态而不需要从稳定存储中恢复该状态。

1.下面特征分别属于计算机网络和分布式计算机系统,请加以区别:

分布式计算机是指系统内部对用户是完全透明的;系统中的计算机即合作又自治;系统可以利用多种物理和逻辑资源,可以动态地给它们分配任务。

计算机网络是指互连的计算机是分布在不同地理位置的多台独立的“自治计算机”。

2.点到点通信子网的拓扑结构主要有以下几种:星型、环型、树型、网状型,请根据其特征填写相应结构。

网状型:结点之间的连接是任意的,没有规律。环型:节点通过点到点通信线路连接成闭合环路。星型:节点通过点到点通信线路与中心结点相连;树型:结点按层次进行连接。3.分布式计算系统可以分为两个子组,它们是集群计算系统和网格计算系统。

4.分布式事务处理具有4个特性,原子性:对外部来说,事务处理是不可见的;一致性:事务处理不会违反系统的不变性;独立性:并发的事务处理不会相互干扰;持久性:事务处理一旦提交,所发生的改变是永久性的。

5.网络协议有三要素组成,时序是对事件实现顺序的详细说明;语义是指需要发出何种控制信息,以及要完成的动作与作出的响应;语法是指用户数据与控制信息的结构与格式6.根据组件和连接器的不同,分布式系统体系结构最重要的有4种,它们是:分层体系结构、基于对象的体系结构、以数据为中心的体系结构、基于事件的体系结构

7.在客户-服务器的体系结构中,应用分层通常分为3层,用户接口层、处理层和数据层。

8.有两种类型的分布式操作系统,多处理器操作系统和多计算机操作系统。

9.软件自适应的基本技术有3种,一是要点分离、二是计算映像、三是基于组件的设计。10.DCE本身是由多个服务构成的,常用的有分布式文件系统、目录服务、安全服务以及分布式时间服务等。

11.TCP/IP体系结构的传输层上定义的两个传输协议为传输控制协议(TCP)和用户数据报协议(UDP)。

12.Windows NT的结构借用了层次模型和客户/服务器两种模型。

13.常用的进程调度算法有先来先服务、优先数法和轮转法

14.进程的三个基本状态是就绪、执行、等待(阻塞)。

15.进程是程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位

16.进程四个特征是动态性,并发性,独立性,异步性。

17.操作系统通常可以分为以下几种类型:批处理系统、分时系统、实时系统、网络操作系统和分布式操作系统。

18.解决死锁的基本方法包括预防死锁,避免死锁,死锁检测,死锁恢复。

19.在引进线程的操作系统中,调度和分派的基本单位是线程,拥有资源的单位是进程。20.在面向流的通信中,为连续提供支持数据流的模式有异步传输模式、同步传输模式和等时传输模式三种。

21.在流同步机制,通常有在数据单元层次上进行显式同步和通过高级接口支持的同步两种。22.在分布式系统中,挂载外部名称空间至少需要的信息是:访问协议的名称、服务器的名称和外部名称空间中挂载点的名称。

23.在名称空间的实现中,为了有效实现名称空间,通常把它划分为逻辑上的三层,其三层指的是全局层、行政层和管理层。

24.在名称解析的实现中,通常采用两种方法,一是迭代名称解析;二是递归名称解析。25.在逻辑时钟算法中,Lamport定义了一个称作“先发生”的关系,表达式a b表示a 在b之前发生。先发生关系是一个传递关系。

26.分布式系统中,通常有4种互斥算法,一是集中式、二是非集中式、三是分布式、四是令牌环。

27.分布式系统中的选举算法有两种,一是欺负选举算法;二是环选举算法。

28.在以数据为中心的一致性模型中,顺序一致性是指“任何执行结果都是相同的,所有进程对数据存储的读/写操作是按某种序列顺序执行的,并且每个进程的操作按照程序所制定的顺序出现在这个序列中”。

29.在因果一致性中,所有进程必须以相同的顺序看到具有潜在因果关系的写操作。不同机器可以以不同的顺序看到并发的写操作。

30.以客户为中心的一致性模型中,满足最终一致性的数据存储具有以下属性:没有更新操作时,所有副本逐渐成为相互完全相同的拷贝。

31.以客户为中心的一致性模型中,一个写操作总是在同一进程执行的后续读操作之前完成,而不管这个后续的读操作发生在什么位置。

32.在一致性协议中,基于主备份的协议比较盛行,它包括远程写协议和本地写协议两种。33.在一致性协议中,复制的写协议包括主动复制和基于多数表决的一致性协议两种。34.在容错性中,故障通常被分为暂时性故障、间歇性故障和持久性故障三大类型。35.如果系统是容错的,使用冗余掩盖故障的方法有信息冗余、时间冗余和物理冗余三种。36.在可靠的客户-服务器通信中,失败时的RPC系统中发生客户不能定位服务器、请求消息丢失、服务器崩溃、应答消息丢失和客护端崩溃等5种形式。

37.在原子多播里,消息排序通常有4种不同的排序方法,它们分别是:不排序的多播、FIFO顺序的多播、按因果关系排序多播和全序多播。

38.容错性的基本要求是从错误中恢复,本质上有两种形式的错误恢复,一是回退恢复;另一种是前向恢复。

39.在分布式安全性中,通常考虑计算机系统受到的安全威胁有窃听、中断、修改和伪造等四种。

40.安全策略准确地描述系统中的实体能够采取的行为以及禁止采取的行为。

41.安全机制包括加密、身份认证、授权和审计等四个部分。

42.分布式加密系统通常有三种类型,一是对称加密系统(DES);二是公钥加密系统(RSA)、三是散列函数(MDS)系统。

43.身份认证是一种会话密钥,常用的身份认证有基于共享密钥的身份认证、使用密钥分发中心的身份认证、使用公钥加密的身份认证三种类型。

44.消息的完整性是指保护消息免受修改;其机密性确保窃听者不能截获和读取消息。45.在安全通道中,为了使消息完整性和机密性。通常采用数字签名和会话密钥的加密算法实现安全通道的数据交换。

46.在安全组通信中,要确保机密性,机密组通信使用公钥加密系统可以解决;而安全的复制服务器组中共享一个保密签名的方法。

47.在访问控制中,要建立主体对对象的访问权限,其普通方法是构造一个访问控制矩阵,而访问控制列表(ACL)和权能列表来实现。

48.防火墙通常分为两种不同的类型,一种是数据包过滤网关;另一种是应用层的网关。49.在分布式系统安全管理中,主要分密钥管理、安全组管理以及授权管理三大内容。50.在容错性中,人们定义了一些不同类型的故障,主要的有崩溃性故障、遗漏性故障、定时性故障、响应性故障以及随意性故障等五大类。

二、选择题(每题n分,共m个题,共计x分)

1.分布式系统中的扩展技术通常有:(A B)。

A.隐藏通信等待时间 B. 复制技术

C.互操作性 D. 可移植性

2.下面属于分布式混合体系结构的是:( C D)

A.点对点体系结构 B. 超级对等体

C.边界服务器系统 D. 协作分布式系统

3.下面形成分布式反馈控制循环的元素是:(A C D )

A.尺度预测组件 B. 循环体

C.反馈分析组件 D. 调整方法组件

4.在分布式虚拟机体系结构中,虚拟化通常采用的方式是:( C D )。

A.系统调用 B. 系统移植

C.构建进程虚拟机 D. 虚拟机监视器

5.进行代码迁移的理由是:(A B)。

A.提升系统整体性能 B. 提高灵活性

C.提高安全性 D. 提高存储能力

6.在迁移与本地资源的关系中,进程对资源的绑定有:( B C D)。

A.紧固连接的绑定 B. 按标识符绑定

C.按值绑定 D. 按类型绑定

7.在迁移与本地资源的关系中,资源对机器的绑定有:(A B C)。

A.未连接资源 B. 附着连接的资源

C.紧固连接的资源 D. 按类型的资源

8.在DEC中,IDL中的头文件包含(A C D)。

A.唯一标识符 B. 调用语义

C.类型定义 D. 常量定义与函数原型

9.在面向消息的持久通信中,消息队列系统中的基本接口有:(A B )。

A.put B. get

C.M_bsend D. socket

10.在流同步中,同步机制需要搞清楚的问题是:( C D)。

A.控制接口 B. MPEG流

C.两个流同步的基本机制 D. 在网络下机制的版本

11.网络体系结构可以定义为:( C )

A、一种计算机网络的实现

B、执行计算机数据处理的软件结构

C、建立和使用通信硬件和软件的一套规则和规范

D、由ISO制定的一个标准12.在OSI参考模型中,数据链路层的数据服务单元是:(C)

A、分组

B、报文

C、帧

D、比特序列

13.下面属于分布式计算系统的是(B C)

A、资源管理

B、集群计算

C、网格计算

D、运行应用程序14.目前分布式信息系统按集成可分为(A B)

A、事务处理系统

B、企业应用集成

C、网络管理

D、资源分配系统15.现在已认可的分布式系统软件体系结构样式有(ABCD)

A、分层体系结构

B、基于对象的体系结构

C、以数据为中心的体系结构

D、基于事件的体系结构

16.两个旅行社甲和乙为旅客到某航空公司订飞机票,形成互斥的资源是( A )。

A. 飞机票B.旅行社C.航空公司D.旅行社和航空公司

17.DNS属于(A)层协议。

A.应用层B.传输层C.互联网层D.网络接口层

18.活动目录是一种(AB )结构的目录服务。

A.层次式B.分布式C.对等式D.主次式

19.对于域名:https://www.wendangku.net/doc/2f6744297.html,,DNS服务器查找顺序是(B)。

A.先查找test主机,再查找.com域B.先查找.com域,再查找test主机

C.随机查找D.以上答案皆是

20.SMTP协议是关于(A )的协议。

A.邮件传输B.文件传输C.超文本传输D.网络新闻组传输21.POP3协议是关于(C )的协议。

A.超文本传输B.邮件传输C.接收邮件D.网络新闻组传输

22.远程客户端登录终端服务器必须提供一定的信息,下列有(AC)属于这种必要的信息。A.用户名B.域C.服务器IP地址D.连接名称

23.在多播通信中,应用层多播树的质量通常以(ABC)不同的尺度来度量。

A.链接树 B. 相对延时补偿 C. 树成本 D. 树结构

24.以多播流方式传递内容时只能采用(B)类型的发布点。

A.单播发布点B.广播发布点

C.单播发布点或广播发布D.既不是单播发布点也非广播发布点

25.DNS名称空间是分层组织的一棵有根树,标识符是有( C )。

A.字母组成 B. 数字组成 C. 字母和数字组成 D. 汉字组成26.IDL编译器的输出包括的文件是(ABD)。

A.文件头 B. 客户存根 C. 守护程序 D. 服务器存根27.下列属于流同步的是(C D)。

A.位同步 B. 字同步 C. 离散数据流与连续数据流之间同步D.口型同步

28.实现线程包的基本方法有(AC)。

A.构造一个完全在用户模式下执行的线程库 B. 由进程间通信实现

C.由内核来管理线程并进行调度 D. 由用户程序来实现

29.下面是多线程服务器可行的设计方法是(ACD)

A.多线程文件服务器 B. Web服务

C.单线称文件服务器 D. 作为有限状态机

30.与迭代名称解析比较,递归名称解析的优点是(B C)。

A.要求服务器性能高 B. 缓存结果更为有效

C.能减少通信开销 D. 算法简单

31.名称用来表示实体,下面属于实体名称的是(BCD)

A.实体图 B. 标识符 C. 易于理解的名称 D. 实体地址32.下面用于定位移动实体的方法是(ABCD)

A.使用广播与多播 B. 使用转发指针

C.给实体指定一个起始位置 D. 创建一棵分层搜索树

33.分布式系统的全局状态是指( B D )。

A.用于计算的临时记录 B. 每个进程的本地状态

C.要发送的消息 D. 当前正在传输中的消息34.面向消息的中间件模型一般提供(ACD)。

A.持久异步通信 B. RPC和RMI

C.电子邮件 D. 工作流

35.在分布式系统中,实现事务的方法是(B C)。

A.创建进程 B. 为进程分配私有工作空间

C.做写前日志 D. 创建线程

36.并发控制的总体思想是(A)。

A.正确调度相冲突的操作 B. 对事务进行管理

C.进行数据的更新 D. 有序的通信

37.下面属于进程间同步算法的是(C D)。

A.FIFO算法 B. 基于优先级的算法

C.选举算法 D. 互斥算法

38.严格一致性中存在的问题是(A)。

A.依赖于绝对的全局时间 B. 不依赖于绝对的全局时间

C.依赖于并发控制算法 D. 不依赖于并发控制算法

39.下列属于“以数据为中心的一致性模型”是(ACD)。

A.持久一致性 B. 最终一致性

C.因果一致性 D. 顺序一致性

40.下列属于“以客户为中心的一致性模型”是(BCD)。

A.严格一致性 B. 单调读一致性

C.单调写一致性 D. 读写一致性

41.下面属于一致性协议的是( C D )。

A.传输协议 B. 中间件协议

C.基于主备份的协议 D. 复制的写协议

42.基于主备份的协议是指(A B )

A.负责协调X上的远程写操作 B. 负责协调X上的本地写操作

C.主动复制 D. 协调操作

43.冗余是获得容错性所需的关键技术,下面属于冗余掩盖故障的是(BCD )。A.存储器冗余 B. 信息冗余

C.时间冗余 D. 物理冗余

44.在可靠多播通信中,解决反馈拥塞的方法是(A B)。

A.无等级的反馈控制 B. 分等级的反馈控制

C.分层的反馈控制 D. 闭环反馈控制

45.实现可靠原子多播的方法是(B C)。

A.转发指针 B. 消息排序

C.虚拟同步 D. 指针缓存

46.在分布式系统安全设计问题中,控制的焦点是(ABC)。

A.防止无效操作的保护 B. 防止未经授权调用的保护

C.防止未经授权用户的保护 D. 安全机制的保护

47.在分布式系统中,加密和解密的实现是( D )。

A.递归算法 B. 安全管理

C.通道管理 D. 以密钥为参数的加密算法

48.分布式系统常用的加密系统有(ABC )。

A.对称加密系统(DES) B. 公钥加密系统(RSA)

C.散列函数(MDS) D. 授权加密

49.在分布式系统安全通道的通信中,其安全性归结为(B C)。

A.授权访问 B. 对通信各方进行身份验证

C.确保消息完整性和机密性 D. 检验权限

50.在分布式安全访问控制中,实现访问控制的方式有(A BC)。

A.构造访问控制矩阵 B. 构造保护域

C.采用防火墙 D. 密钥管理

1.网络体系结构可以定义为:( C )

A、一种计算机网络的实现

B、执行计算机数据处理的软件结构

C、建立和使用通信硬件和软件的一套规则和规范

D、由ISO制定的一个标准2.在OSI参考模型中,数据链路层的数据服务单元是:(C)

A、分组

B、报文

C、帧

D、比特序列

3.下面属于分布式计算系统的是(B C)

A、资源管理

B、集群计算

C、网格计算

D、运行应用程序4.目前分布式信息系统按集成可分为(A B)

A、事务处理系统

B、企业应用集成

C、网络管理

D、资源分配系统5.现在已认可的分布式系统软件体系结构样式有(ABCD)

A、分层体系结构

B、基于对象的体系结构

C、以数据为中心的体系结构

D、基于事件的体系结构

6.两个旅行社甲和乙为旅客到某航空公司订飞机票,形成互斥的资源是( A )。

A. 飞机票B.旅行社C.航空公司D.旅行社和航空公司

7.DNS属于(A)层协议。

A.应用层B.传输层C.互联网层D.网络接口层

8.活动目录是一种(AB )结构的目录服务。

A.层次式B.分布式C.对等式D.主次式

9.对于域名:https://www.wendangku.net/doc/2f6744297.html,,DNS服务器查找顺序是(B)。

A.先查找test主机,再查找.com域B.先查找.com域,再查找test主机

C.随机查找D.以上答案皆是

10.SMTP协议是关于(A )的协议。

A.邮件传输B.文件传输C.超文本传输D.网络新闻组传输11.POP3协议是关于(C )的协议。

A.超文本传输B.邮件传输C.接收邮件D.网络新闻组传输

12.远程客户端登录终端服务器必须提供一定的信息,下列有(AC)属于这种必要的信息。A.用户名B.域C.服务器IP地址D.连接名称

13.在多播通信中,应用层多播树的质量通常以(ABC)不同的尺度来度量。

A.链接树 B. 相对延时补偿 C. 树成本 D. 树结构

14.以多播流方式传递内容时只能采用(B)类型的发布点。

A.单播发布点B.广播发布点

C.单播发布点或广播发布D.既不是单播发布点也非广播发布点

15.DNS名称空间是分层组织的一棵有根树,标识符是有( C )。

A.字母组成 B. 数字组成 C. 字母和数字组成 D. 汉字组成16.IDL编译器的输出包括的文件是(ABD)。

A.文件头 B. 客户存根 C. 守护程序 D. 服务器存根17.下列属于流同步的是(C D)。

A.位同步 B. 字同步 C. 离散数据流与连续数据流之间同步D.口型同步

18.实现线程包的基本方法有(AC)。

A.构造一个完全在用户模式下执行的线程库 B. 由进程间通信实现

C.由内核来管理线程并进行调度 D. 由用户程序来实现

19.下面是多线程服务器可行的设计方法是(ACD)

A.多线程文件服务器 B. Web服务

C.单线称文件服务器 D. 作为有限状态机

20.与迭代名称解析比较,递归名称解析的优点是(B C)。

A.要求服务器性能高 B. 缓存结果更为有效

C.能减少通信开销 D. 算法简单

21.名称用来表示实体,下面属于实体名称的是(BCD)

A.实体图 B. 标识符 C. 易于理解的名称 D. 实体地址

22.下面用于定位移动实体的方法是(ABCD)

A.使用广播与多播 B. 使用转发指针

C.给实体指定一个起始位置 D. 创建一棵分层搜索树

23.分布式系统的全局状态是指( B D )。

A.用于计算的临时记录 B. 每个进程的本地状态

C.要发送的消息 D. 当前正在传输中的消息24.面向消息的中间件模型一般提供(ACD)。

A.持久异步通信 B. RPC和RMI

C.电子邮件 D. 工作流

25.在分布式系统中,实现事务的方法是(B C)。

A.创建进程 B. 为进程分配私有工作空间

C.做写前日志 D. 创建线程

26.并发控制的总体思想是(A)。

A.正确调度相冲突的操作 B. 对事务进行管理

C.进行数据的更新 D. 有序的通信

27.下面属于进程间同步算法的是(C D)。

A.FIFO算法 B. 基于优先级的算法

C.选举算法 D. 互斥算法

28.严格一致性中存在的问题是(A)。

A.依赖于绝对的全局时间 B. 不依赖于绝对的全局时间C.依赖于并发控制算法 D. 不依赖于并发控制算法

29.下列属于“以数据为中心的一致性模型”是(ACD)。

A.线性化和顺序一致性 B. 最终一致性

C.因果一致性 D. FIFO一致性

30.下列属于“以客户为中心的一致性模型”是(BCD)。

A.严格一致性 B. 单调读一致性

C.写后读一致性 D. 读后写一致性

31.下面属于一致性协议的是(C D)。

A.传输协议 B. 中间件协议

C.基于主备份的协议 D. 复制的写协议

32.基于主备份的协议是指(A B)

A.负责协调X上的远程写操作 B. 负责协调X上的本地写操作C.主动复制 D. 协调操作

33.冗余是获得容错性所需的关键技术,下面属于冗余掩盖故障的是(BCD)。A.存储器冗余 B. 信息冗余

C.时间冗余 D. 物理冗余

34.在可靠多播通信中,解决反馈拥塞的方法是(A B)。

A.无等级的反馈控制 B. 分等级的反馈控制

C.分层的反馈控制 D. 闭环反馈控制

35.实现可靠原子多播的方法是(B C)。

A.转发指针 B. 消息排序

C.虚拟同步 D. 指针缓存

36.在分布式系统安全设计问题中,控制的焦点是(ABC)。

A.防止无效操作的保护 B. 防止未经授权调用的保护C.防止未经授权用户的保护 D. 安全机制的保护

37.在分布式系统中,加密和解密的实现是(D)。

A.递归算法 B. 安全管理

C.通道管理 D. 以密钥为参数的加密算法38.分布式系统常用的加密系统有(ABC)。

A.对称加密系统(DES) B. 公钥加密系统(RSA)

C.散列函数(MDS) D. 授权加密

39.在分布式系统安全通道的通信中,其安全性归结为(B C)。

A.授权访问 B. 对通信各方进行身份验证

C.确保消息完整性和机密性 D. 检验权限

40.在分布式安全访问控制中,实现访问控制的方式有(A BC)。

A.构造访问控制矩阵 B. 构造保护域

C.采用防火墙 D. 密钥管理

三.简答题(每小题n分,共m分)

1.按照资源共享的观念定义的计算机网络具备哪几个主要特征?

答:三个主要特征:1.建立的目的是实现计算机资源的共享,包括数据资源\软件资源和硬件资源。2.互连的计算机是分布在不同地理位置的多台独立的”自治计算机”。3.连网的计算机之间的通信必须遵循共同的网络协议。

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

答:因为它不适合用于支持多层客户-服务器交互过程所使用的同步请求-应答方式,在可靠传输中,造成许多开销都耗费在连接的管理上。

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

答:首先服务器和客户端都要创建一个套接字,并遵循UDP协议,服务器将其所在的IP地址以及一个端口号绑定到套接字,完成绑定后,服务器就能接收来自客户端的UDP数据包了。同样,客户端在创建套接字后,能够向服务器发送UDP包进行通信,通信过程中,服务器和客户端之间是不用建立连接的。

4.简述TCP和UDP协议在通信中的区别

TCP是面向连接的可靠的协议,适用于传输大批量的文件,检查是否正常传输。而UDP 是面向非连接的不可靠的协议,适用于传输一次性小批量的文件,不对传输数据报进行检查。

TCP需要先建立连接才能通话;而UDP不需要,实时性要高点。

TCP可以形象比喻为打电话的过程;UDP可以比喻为发短信的过程。

TCP不能发送广播和组播,只能单播;UDP可以广播和组播。

5.Java RMI对代码迁移依赖到何种程度?

答:Java RMI时,每一个方法引用传递实际上就是执行一次代码的迁移,对于移植性差的进程来说,代码迁移是非常必要的。

6.标识符是否可以包含它所引用实体的信息?

答:标识符可以包含它所引用实体的信息,但是,这些信息不允许修改,因为那意味着标识符被改变。

7.在深度为k的分层定位服务中,当移动实体改变它的位置时,最多需要更新多少条位置记录?

答:移动实体改变位置会产生删除操作和插入操作,删除操作至少需要更新k条位置记录。同样,插入操作也需要更新k条位置记录。最后,删除与插入更新移动实体位置的记录共需要2k+1条。

8.要使用Lamport时间戳实现全序多播,是不是每个消息都必须要被严格地确认?

答:不需要,任何类型的消息,只要它的时间戳大于所接收到的消息的时间戳,就可以被加入消息队列,使用Lamport时间戳实现全序多播。

9.许多分布式算法需要使用协调进程。讨论一下,这样的算法实际上可以在什么程度上被看作为分布式的?

答:在集中式算法中,一般会选择一个固定的进程作为协调者,其它的进程可以分布在

不同的机器上运行。分布式算法中也同样可以引入协调进程,但是,这个进程并不是固定的,它是从作为算法一部分的进程中选择的。因此,使用协调进程并不会影响算法的分布性。

10.作业调度和进程调度有何区别?

答:作业调度与进程调度之间的差别主要是:作业调度是宏观调度,它所选择的作业只是具有获得处理机的资格,但尚未占有处理机,不能立即在其上实际运行;而进程调度是微观调度,动态地把处理机实际地分配给所选择的进程,使之真正活动起来。另外,进程调度相当频繁,而作业调度执行的次数一般很少。

11.请解释DNS如何进行复制,以及它实际运行很好的原因。

答:DNS进行复制的基本思想是:域名服务器可以缓存以前查找过的结果。由于DNS 的名称到地址的映射很少更改,因此,这些结果可以缓存很长一段时间。

12.简述进程与程序的联系和区别

答:(1)联系:一个进程可以涉及到一个或几个程序的执行;一个程序可以对应一个或多个进程,即同一程序段可以在不同数据集合上运行,可构成不同的进程,例如打印输出程序段,例如同一高级语言编译程序与多个用户源程序。

(2)进程和程序的区别主要体现在:

1)进程是动态的,具有一定的生命周期,而程序是静态的;

2)进程可并发执行,而没有创建进程的程序是不能执行的;

3)进程是操作系统中申请和分配资源的基本单位,而没有创建进程的程序是不能申请资源的;

4)进程包括程序、数据和进程控制块;

5)同一程序的多次执行对应多个进程

13.在下图中,一个顺序一致的存储器允许6种可能的语句交叉。请列举出这6种可能的情况。

进程P1 进程P2

x=1; y =1;

if(y== 0) kill(P2) if(x== 0) kill(P1)

答:这6种可能的情况是:

(1) a=1; if ( b= =0 ); b=1; if ( a= =0 );

(2) a=1; b=1; if ( a= =0 ); if ( b= =0 );

(3) a=1; b=1; if ( b= =0 ); if ( a= =0 );

(4) b=1; if ( a= =0 ); a=1; if ( b= =0 );

(5) b=1; a=1; if ( b= =0 ); if ( a= =0 );

(6) b=1; a=1; if ( a= =0 ); if ( b= =0 );

14.一个文件被复制在10个服务器上,请列出表决算法允许的所有读团体和写团体。

答:下列可能性的读团体和写团体是合法的:

(1,10)、(2,9)、(3,8)、(4,7)、(5,6)、(6,5)、(7,4)、(8,3)、(9,2)、(10,1)。

15.原子多播的可扩展性重要到哪种程度上?

答:它取决于一组包含多个进程的状态。如果进程为故障容错进行了复制,拥有少量的副本可能就足够了,在这种情况下,可扩展性几乎不成问题。如果是由不同进程构成的组,可扩展性就可能成了一个问题。当为了性能而复制时,原子多播自身可能超出负荷的能力。

16.在两阶段提交协议中,为什么即使在参与者们选择一个新的协调者的情况下也不会完全消除阻塞?

答:因为选举结束后,新的协调者也同样可能会崩溃。在这种情况下,其余的参与者也不能做出最后决定,因为这需要由新当选的协调者发起选举。

17.假设Alice希望向Bob发送一条消息m。她没有使用Bob的公钥K+B加密m,而是生成了一个会话密钥K A,B,然后发送[K A,B(m), K+B(K A,B)]。为什么一般来讲,这种方法更好?(提示:考虑性能问题)。

答:会话密钥有一个短而固定的长度,而消息m可能是任意长度。因此,采用会话密钥和公钥结合加密短消息通常在性能方面优于只使用一个公钥加密的消息。

18.列举出为密钥管理使用集中式服务的一些优点和缺点。

答:一个显著的优点是简单。比如:若有N个客户在一个集中式的服务器上共享了1个密钥,我们就只需要维护N个密钥;如果是成对共享密钥,那我们就需要维护N(N-1)/2个。而且使用集中式服务器存储和维护都在一个站点上,使存储和维护都比较方便。潜在的缺点:首先是服务器有可能成为性能和可用性的瓶颈。其次,如果服务器机密被泄露,就必须建立新的密钥。

19.一个网络中,DNS服务器应该部署在什么地方最合适?

答:要用域名访问Internet上的服务器必须先访问DNS服务器,经过DNS对域名的解析才能连接到相应的主机。所以,在一个网络中,DNS服务器应该部署在客户端可以集中访问的网络位置上。

20.进程间同步和互斥的含义是什么?

答:进程间同步是并发进程之间存在的相互制约和相互依赖的关系。

进程间互斥是若干进程共享一资源时,任何时刻只允许一个进程使用。

四.综合题(本题结果不是唯一的,每小题n分,共m分)

1.有三个进程P1,P2和P3并发工作。进程P1需用资源S3和S1;进程P2需用资源S1和S2;进程P3需用资源S2和S3。回答:

(1)若对资源分配不加限制,会发生什么情况?为什么?

(2)为保证进程正确工作,应采用怎样的资源分配策略?为什么?

(1)多个进程动态地共享系统的资源可能会产生死锁现象。死锁的产生,必须同时满足四个条件,第一个是互斥条件,即一个资源每次只能由一个进程占用;第二个为等待条件,即一个进程请求资源不能满足时,它必须等待,但它仍继续保持已得到的所有其它资源;第三个是非出让条件,任何一个进程不能抢占另一个进程已经获得且未释放的资源;第四个为循环等待条件,系统中存在若干个循环等待的进程,即其中每一个进程分别等待它前一个进程所持有的资源。防止死锁的机构只须确保上述四个条件之一不出现,则系统就不会发生死锁。

只要资源分配策略能保证进程不出现循环等待,则系统就不会发生死锁。

(2) 银行家算法分配资源的原则是:系统掌握每个进程对资源的最大需求量,当进程要求申请资源时,系统就测试该进程尚需资源的最大量,如果系统中现存的资源数大于或等于该进程尚需的最大量时,则就满足进程的当前申请。这样可以保证至少有一个进程可能得到全部资源而执行到结束,然后归还它所占用的全部资源供其它进程使用。银行家算法破坏了产生死锁的第四个条件,即不可能产生循环等待,从而可以避免死锁的发生。

防止进程发生循环等待的另一种资源分配策略是按序分配算法,其基本思想如下:把系统中所有的资源排一个顺序,例如系统共有m个资源,用ri表示第i个资源,那么这m个资源是:

r1, r2, r3 ……, rm

规定任何进程不得在占用资源ri(1

2.如何设计一个好的RPC?采用client/server模型与应用程序的组件说明开发过程?本文比较详细地介绍了远程过程调用(RPC)的OSF标准在Microsoft VC++中的实现原理, 以及如何使用它们来开发应用程序. 阅读本文你将了解RPC的基本原理, 并将看到如何开发使用RPC 进行异种机网络分布式处理的客户机应用程序和服务器应用程序.

Para 1. RPC工作原理

RPC是把传统本地过程调用的概念加以扩充后引入分布式环境的一种形式. RPC的形式和行为与传统本地过程调用极为相似, 差别仅在于被调用的procedure(过程)实际运行在与调用者的场点不同的场点上(如图1). 也正是由于这一差别, 我们得通过编写程序来实现两场地之间的连接和信息沟通.

RPC机制的实质是实现OSI七层模型中的会话层功能. 它在两个试图进行通信的场点之间建立一条逻辑信道(即会话连接), 并利用这个信道交换信息, 不用时就释放连接. 下面我们就来看看RPC的通信模型(如下图2):

Client端:

1) 发送远程过程调用的消息(以消息包形式)给远程的server端;

2) 等待, 直到收到server端对该请求的回复;

3) 一旦接收到来自server端的返回执行结果, 就继续执行后面的程序.

Server端:

1) 倾听状态, 等待client端发送过程调用消息;

2) 一旦接收到过程调用消息, server就抽取参数并分析它, 然后执行所请求的过程;

3) 将执行结果以消息包形式回送给client.

至于RPC的具体实现, 我们可以借助下图3来理解:

图3 RPC的实现概况

其中stub是一组RPC机制的操作原语, 这些原语构成了RPC的实现细节, 它可以独立于client、server编程. 下面我们来解说图3的执行过程:

1) 调用者调用本地stub中的一个过程(开始远程过程调用请求).

2) 这个stub过程把有关的参数组装成一个消息包或一组消息包, 形成一条消息. 运行此

执行过程的远程场点的IP地址和执行该过程的进程ID号也包含在这条消息中.

3) 将这条消息发送给对应的RPC runtime(RPC运行库)子程序, 由这个子程序将消息发送到远程场点.

4) 在接收到这条消息时, server端的RPC runtime子程序引用与被调用者对应的stub中

的一个子程序, 并让它来处理消息.

5) 与被调用者对应的stub中的这个子程序撤卸消息, 解析出相关参数, 并用本地调用方

式执行所指定的过程.

6) 返回调用结果, 调用者对应的stub子程序执行return语句返回到用户, 整个RPC过程结束.

实际上, 从上面这个执行过程中, 我们可以看到RPC的实现主要有两个问题需要解决. 一个是

在远程过程调用时, 如何定位远程场点; 另外一个就是相关的两个场点必须能协同工作, 所有

这些工作对用户都是透明的, 依次执行.

通常在实际编程中, 程序设计者主要负责设计计算过程并实现计算过程体, 而对应的stub由系统生成. 后面我们就要说到Microsoft的RPC实现机制,看看它是如何产生stub的。

Para2. 如何设计好的RPC

对调用双方来说, 传递RPC参数包括辅助处理本地数据表示和网络数据表示的相互转换. 此外, 输入输出参数需要一些存储分配. 同时, RPC中的等待时间也不能忽略.

所以, 一般来说, 应该尽可能降低调用次数. 例如,如果要对一个大数组的每个元素都执行计算, 我们就可以一次调用处理一整行或者整个数组, 而不用每次调用传递一个元素. 这样可以降低

有RPC引入的额外开销.

Para3. 应用程序的组件

为了在client和server端使用RPC, 当然少不了client进程和server进程. 另外还有一个名称服务进程, 这个稍后再说.

开发过程大致是这样的:

1) 任何RPC调用都使用一个定义在IDL(interface definition language, 接口定义语言)文件中的接口, 然后MIDL(Microsoft IDL)编译器对IDL文件进行编译, 编译之后

会自动生成一个.h文件, 同时生成一个 client stub 和一个server stub. 关于这个你可以在dos下运行midl.exe/?得到更详细的信息.

2) Client端应用程序使用client stub调用RPC runtime以实现网络上的调用. 接下来RPC运行时使用一组DLL中的一个来实现被使用的特定网络协议.

3) Server端也与RPC runtime连接. 不过server端应用程序使用一些其它的函数来将

自己作为一个特殊接口的服务器进行注册(向谁注册?), 并开始侦听接口的请求.

3.如何用Java或其它语言解决线程同步与互斥的问题?(任选择一种语言)

同步有同步方法和同步块

当有多个线程的时候,经常需要去同步这些线程以访问同一个数据或资源。例如,假设有一个程序,其中一个线程用于把文件读到内存,而另一个线程用于统计文件中的字符数。由于每个操作

都有自己的线程,操作系统会把两个线程当作是互不相干的任务分别执行,这样就可能在没有把

整个文件装入内存时统计字数。为解决此问题,你必须使两个线程同步工作。存在一些线程同步地址的问题,Win32提供了许多线程同步的方式。在本节你将看到使用临界区、互斥、信号量和

事件来解决线程同步的问题。

1. 临界区

临界区是一种最直接的线程同步方式。所谓临界区,就是一次只能由一个线程来执行的一段代码。如果把初始化数组的代码放在临界区内,另一个线程在第一个线程处理完之前是不会被执行的。在使用临界区之前,必须使用InitializeCriticalSection()过程来初始化它。

其声明如下:

procedure InitializeCriticalSection(var lpCriticalSection:

TRLCriticalSection);stdcall;

lpCriticalSection参数是一个TRTLCriticalSection类型的记录,并且是变参。只需要在lpCriticalSection中传递未初始化的记录,InitializeCriticalSection()过程就会填充这个记录。

在记录被填充后,我们就可以开始创建临界区了。这时我们需要用EnterCriticalSection()和LeaveCriticalSection()来封装代码块。这两个过程的声明如下:

procedure EnterCriticalSection(var lpCriticalSection:TRRLCriticalSection);stdcall; procedure LeaveCriticalSection(var lpCriticalSection:TRRLCriticalSection);stdcall; 正如你所想的,参数lpCriticalSection就是由InitializeCriticalSection()填充的记录。

当你不需要TRTLCriticalSection记录时,应当调用DeleteCriticalSection()过程,下面是它的声明:

procedure DeleteCriticalSection(var lpCriticalSection: TRTLCriticalSection); stdcall;

2. 互斥

互斥非常类似于临界区,除了两个关键的区别:首先,互斥可用于跨进程的线程同步。其次,互斥能被赋予一个字符串名字,并且通过引用此名字创建现有互斥对象的附加句柄。

提示临界区与事件对象(比如互斥对象)的最大的区别是在性能上。临界区在没有线程冲突时,要用1 0 ~ 1 5个时间片,而事件对象由于涉及到系统内核要用400~600个时间片。可以调用函数CreateMutex ( )来创建一个互斥量。下面是函数的声明:

function CreateMutext(lpMutextAtrribes:PSecurityAttributtes;

bInitalOwner:BOOL; lpName:PChar):THandle; stdcall;

lpMutexAttributes参数为一个指向TSecurityAttributtes记录的指针。此参数通常设为0,表示默认的安全属性。bInitalOwner参数表示创建互斥对象的线程是否要成为此互斥对象的拥有者。当此参数为False时,表示互斥对象没有拥有者。lpName参数指定互斥对象的名称。设为nil表示无命名,如果参数不是设为nil,函数会搜索是否有同名的互斥对象存在。如果有,函数就会返回同名互斥对象的句柄。否则,就新创建一个互斥对象并返回其句柄。当使用完互斥对象时,应当调用CloseHandle()来关闭它。

在程序中使用WaitForSingleObject()来防止其他线程进入同步区域的代码。此函数声明如下:function WaitForSingleObject(hHandle: THandle; dwMilliseconds: DWORD): DWORD; stdcall; 这个函数可以使当前线程在dwMilliseconds指定的时间内睡眠,直到hHandle参数指定的对象进入发信号状态为止。一个互斥对象不再被线程拥有时,它就进入发信号状态。当一个进程要终止时,它就进入发信号状态。dwMilliseconds参数可以设为0,这意味着只检查hHandle参数指定的对象是否处于发信号状态,而后立即返回。dwMilliseconds参数设为INFINITE,表示如果信号不出现将一直等下去。再次声明,当一个互斥对象不再被一个线程所拥有,它就处于发信号状态。此时首先调用WaitForSingleObject()函数

的线程就成为该互斥对象的拥有者,此互斥对象设为不发信号状态。当线程调用ReleaseMutex()函数并传递一个互斥对象的句柄作为参数时,这种拥有关系就被解除,互斥对象重新进入发信号状态。

注意除WaitForSingleObject()函数外,你还可以使用WaitForMultipleObject()和MsgWaitForMultipleObject()函数,

它们可以等待几个对象变为发信号状态。这两个函数的详细情况请看Win32 API联机文档。

3. 信号量

另一种使线程同步的技术是使用信号量对象。它是在互斥的基础上建立的,但信号量增加了资源计数的功能,预定数目的线程允许同时进入要同步的代码。可以用CreateSemaphore()来创建一个信号量对象,其声明如下:

function CreateSemaphore(lpSemaphoreAttributes: PSecurityAttributes;

lInitialCount, lMaximumCount: Longint; lpName: PChar): THandle; stdcall;

和CreateMutex()函数一样,CreateSemaphore()的第一个参数也是一个指向

TSecurityAttribute s记录的指针,此参数的缺省值可以设为nil。

lInitialCount参数用来指定一个信号量的初始计数值,这个值必须在0和lMaximumCount之间。此参数大于0,就表示信号量处于发信号状态。当调用WaitForSingleObject()函数(或其他函数)时,此计数值就减1。当调用ReleaseSemaphore()时,此计数值加1。

参数lMaximumCount指定计数值的最大值。如果这个信号量代表某种资源,那么这个值代表可用资源总数。

参数lpName用于给出信号量对象的名称,它类似于CreateMutex()函数的lpName参数。

4.如何用Java或C/C++语言实现多线程?(任选择一种语言)

//这个例子是基于事件对象的

#include

#include

DWORD WINAPI Fun1Proc(LPVOID lpParameter);//thread data

DWORD WINAPI Fun2Proc(LPVOID lpParameter);//thread data

int tickets=100;

HANDLE g_hEvent;

void main()

{

HANDLE hThread1;

HANDLE hThread2;

//创建人工重置事件内核对象

g_hEvent=CreateEvent(NULL,FALSE,FALSE,"tickets");

if (g_hEvent)

{

if (ERROR_ALREADY_EXISTS==GetLastError())

{

cout<<"only one instance can run!"<

return;

}

}

SetEvent(g_hEvent);

//创建线程

hThread1=CreateThread(NULL,0,Fun1Proc,NULL,0,NULL);

hThread2=CreateThread(NULL,0,Fun2Proc,NULL,0,NULL);

CloseHandle(hThread1);

CloseHandle(hThread2);

//让主线程睡眠4秒

Sleep(4000);

//关闭事件对象句柄

CloseHandle(g_hEvent);

}

//线程1的入口函数

DWORD WINAPI Fun1Proc(LPVOID lpParameter)//thread data {

while (true)

{

WaitForSingleObject(g_hEvent,INFINITE);

//ResetEvent(g_hEvent);

if (tickets>0)

{

Sleep(1);

cout<<"thread1 sell ticket :"<

SetEvent(g_hEvent);

}

else

{

SetEvent(g_hEvent);

break;

}

}

return0;

}

//线程2的入口函数

DWORD WINAPI Fun2Proc(LPVOID lpParameter)//thread data {

while (true)

{

//请求事件对象

WaitForSingleObject(g_hEvent,INFINITE);

//ResetEvent(g_hEvent);

if (tickets>0)

{

Sleep(1);

cout<<"thread2 sell ticket :"<

SetEvent(g_hEvent);

}

else

{

SetEvent(g_hEvent);

break;

}

}

return0;

}

分布式系统概念与设计(第三版)课后习题与答案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:

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

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

分布式操作系统知识点

第一章知识点 1.说明分布式系统相对于集中式系统的优点和缺点。从长远的角度看,推动分布式系统发展的主要动力是什么? 2.多处理机系统和多计算机系统有什么不同? 3.真正的分布式操作系统的主要特点是什么? 4.分布式系统的透明性包括哪几个方面,并解释透明性问题对系统和用户的重要性。 5.在分布式操作系统中,为什么采用微内核技术,通常微内核提供哪些服务? 第二章知识点 6.客户-服务器模式的主要思想及优点。 7.客户为了发送消息给服务器,它必须知道服务器的地址。试给出服务器进程编址的几种方法,并说明如何定位进程。 8.对于接收消息Receive原语,为什么需要缓存, 缓存的作用是什么? 9.说明在C/S模式下解决消息可靠传输的三种方法? 10.说明RPC的主要思想及RPC调用的主要步骤。(远程过程调用函数sum(4,7)为例说明) 11.在RPC调用时,如果服务器或客户机崩溃了,各有哪些解决方法。 12.RPC信包发送可采用爆发协议,但是会产生超限错误(overrun error),给出解决办法。 13.一个影响RPC执行时间的问题是消息的拷贝问题,试说明在那些环节需要拷贝,并说明减少拷贝次数的方法。 14.在组通信中,给出组编址的的三种方式。 15.用组通信方式时,举例说明消息顺序的重要性,并说明解决方法说明。 第三章知识点 16.实现分布式系统同步的复杂性表现在哪几个方面?说明先发生关系,并说明在LAMPORT算法中怎样给事件分配时间。 17.有三个进程分别运行在不同的机器上,每个机器都有自己的时钟并以不同且不变的速率工作(进程1的时钟嘀嗒了6下时,进程2的时钟嘀嗒了8下,而进程3的时钟嘀嗒了10下)。举例说明进程之间消息传递中违反先发生关系的情况,并说明如何用Lamport方法解决。 18.说明RICART和AGRAW ALE分布式互斥算法;假定A和B是相互独立的两个临界区,进程0要进入A,进程1要进入B,R-A分布式互斥算法会导致死锁吗?说明理由。 19.许多分布式算法需要一个协调者,叙述欺负选举算法。 20.举例说明用私有工作空间实现事务处理时的基本思想。 21.说明在分布式系统中实现原子性提交的两阶段提交协议的基本思想及其优点。 22.举例说明为什么使用集中式的死锁检测算法会产生假死锁,并给出一种解决办法。 23.举例说明分布式死锁检测方法Chandy-Misra-Has算法的思想以及如何解除死锁。 24.说明wait-die和wound-wait分布式死锁预防方法。事务时间戳为50的进程申请事务时间戳为100的进程占用的资源。按以上两种策略,结果会如何? 第四章. 知识点 25、叙述实现线程包的方法及其优缺点。 26、说明发送者发起的分布式启发算法和接收者发起的分布式启发算法及各自的主要缺点。 27、说明主机后备容错方法的主要思想,在主机崩溃后存在的问题及解决方法。 28、多处理机系统中,fail-silent类型和Byzantine类型处理机错误各需要至少多少个处理机才能满足要求?说明理由。 29、举例说明Lamport等人提出的算法是如何解决Byzantine将军问题的。

操作系统复习题整理

第一章 1.说明分布式系统相对于集中式系统的优点和缺点。从长远的角度看,推动分布式系统发展的主要动力 是什么? 答:相对于集中式系统,分布式系统的优点:1)从经济上,微处理机提供了比大型主机更好的性能价格比;2)从速度上,分布式系统总的计算能力比单个大型主机更强;3)从分布上,具有固定的分布性,一些应用涉及到空间上分散的机器;4)从可靠性上,具有极强的可靠性,如果一个极强崩溃,整个系统还可以继续运行;5)从前景上,分布式操作系统的计算能力可以逐渐有所增加。 分布式系统的缺点:1)软件问题,目前分布式操作系统开发的软件太少;2)通信网络问题,一旦一个系统依赖网络,那么网络的信息丢失或饱和将会抵消我们通过建立分布式系统所获得的大部分优势;3)安全问题,数据的易于共享也容易造成对保密数据的访问。 推动分布式系统发展的主要动力:尽管分布式系统存在一些潜在的不足,但是从长远的角度看,推动分布式系统发展的主要动力是大量个人计算机的存在和人们共同工作于信息共享的需要,这种信息共享必须是以一种方便的形式进行。而不受地理或人员,数据以及机器的物理分布的影响 2.多处理机系统和多计算机系统有什么不同? 答:共享存储器的计算机系统叫多处理机系统,不共享存储器的计算机系统为多计算机系统。它们之间的本质区别是在多处理机系统中,所有CPU共享统一的虚拟地址空间,在多计算机系统中,每个计算机有它自己的存储器。 多处理机系统分为基于总线的和基于交换的。基于总线的多处理机系统包含多个连接到一条公共总线的CPU以及一个存储器模块。基于交换的多处理机系统是把存储器划分为若干个模块,通过纵横式交换器将这些存储器模块连接到CPU上。 多计算机系统分为基于总线的和基于交换的系统。在基于总线的多计算机系统中,每个CPU都与他自身的存储器直接相连,处理器通过快速以太网这样的共享多重访问网络彼此相连。在基于交换的多计算机系统中,处理器之间消息通过互联网进行路由,而不是想基于总线的系统中那样通过广播来发送。 3.真正的分布式操作系统的主要特点是什么? 必须有一个单一的、全局的进程间通信机制。进程管理必须处处相同。文件系统相同。使用相同的系统调用接口。 4.分布式系统的透明性包括哪几个方面,并解释透明性问题对系统和用户的重要性。 答:对于分布式系统而言,透明性是指它呈现给用户或应用程序时,就好像是一个单独是计算机系统。 具体说来,就是隐藏了多个计算机的处理过程,资源的物理分布。 具体类型:

海量数据下分布式数据库系统的探索与研究

海量数据下分布式数据库系统的探索与研究 摘要:当前,互联网用户规模不断扩大,这些都与互联网的快速发展有关。现 在传统的数据库已经不能满足用户的需求了。随着云计算技术的飞速发展,我国 海量数据快速增长,数据量年均增速超过50%,预计到2020年,数据总量全球 占比将达到20%,成为数据量最大、数据类型最丰富的国家之一。采用分布式数 据库可以显著提高系统的可靠性和处理效率,同时也可以提高用户的访问速度和 可用性。本文主要介绍了分布式数据库的探索与研究。 关键词:海量数据;数据库系统 1.传统数据库: 1.1 层次数据库系统。 层次模型是描述实体及其与树结构关系的数据模型。在这个结构中,每种记 录类型都由一个节点表示,并且记录类型之间的关系由节点之间的一个有向直线 段表示。每个父节点可以有多个子节点,但每个子节点只能有一个父节点。这种 结构决定了采用层次模型作为数据组织方式的层次数据库系统只能处理一对多的 实体关系。 1.2 网状数据库系统。 网状模型允许一个节点同时具有多个父节点和子节点。因此,与层次模型相比,网格结构更具通用性,可以直接描述现实世界中的实体。也可以认为层次模 型是网格模型的特例。 1.3 关系数据库系统。 关系模型是一种使用二维表结构来表示实体类型及其关系的数据模型。它的 基本假设是所有数据都表示为数学关系。关系模型数据结构简单、清晰、高度独立,是目前主流的数据库数据模型。 随着电子银行和网上银行业务的创新和扩展,数据存储层缺乏良好的可扩展性,难以应对应用层的高并发数据访问。过去,银行使用小型计算机和大型存储 等高端设备来确保数据库的可用性。在可扩展性方面,主要通过增加CPU、内存、磁盘等来提高处理能力。这种集中式的体系结构使数据库逐渐成为整个系统的瓶颈,越来越不适应海量数据对计算能力的巨大需求。互联网金融给金融业带来了 新的技术和业务挑战。大数据平台和分布式数据库解决方案的高可用性、高可靠 性和可扩展性是金融业的新技术选择。它们不仅有利于提高金融行业的业务创新 能力和用户体验,而且有利于增强自身的技术储备,以满足互联网时代的市场竞争。因此,对于银行业来说,以分布式数据库解决方案来逐步替代现有关系型数 据库成为最佳选择。 2.分布式数据库的概念: 分布式数据库系统:分布式数据库由一组数据组成,这些数据物理上分布在 计算机网络的不同节点上(也称为站点),逻辑上属于同一个系统。 (1)分布性:数据库中的数据不是存储在同一个地方,更准确地说,它不是 存储在同一台计算机存储设备中,这可以与集中数据库区别开来。 (2)逻辑整体性:这些数据在逻辑上是相互连接和集成的(逻辑上就像一个 集中的数据库)。 分布式数据库的精确定义:分布式数据库由分布在计算机网络中不同计算机

学生分布式系统复习题与参考答案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. 应用层多播的基本思想是结点组织成一个覆盖 网络,然后用它来传播信息给其成员。一个重要的 因素是网络路由器不在组成员中。

《分布式操作系统》试卷

《分布式操作系统》试卷 一、问答题(每小题分,共分) 、在使用时,调用者需要首先定位执行远程过程的场点,试给出一些定位的方法并简要说明工作过程。 、试从原子性和定序两方面讨论下列场景中,组通信应具备什么特性,并简要说明原因。 ①用于容错的服务器组,客户的请求需要送达每个服务器; ②分布式文件系统中,客户需要定位一个特定文件所属服务器; ③网络麻将游戏,每个游戏玩家把自己的出牌情况通知其他玩家。 、①简要说明在分布式系统中逻辑时钟如何构造。 当用于确定进程的关系时,现有个进程、、分别位于不同场点,试回答: ②进程收到来自的消息和来自的消息,分别携带时间和,能否确定()→()? 为什么? ③如果消息是发给,消息是发给(、都是在接收消息之前完成发送),这时 能否确定()→()?为什么? 、①简述利用时间戳预防死锁的不同方法。 如果进程、、分别有时间戳、、,在下列情况下,应该怎样处理? ②申请占用的资源,使用方法; ③申请占用的资源,使用方法; ④申请占用的资源,使用方法; ⑤申请占用的资源,使用方法。 、利用成组服务器屏蔽故障,如果故障服务器可以产生下列情况的故障,要达到容错,服务器组中至少要包含多少台服务器?为什么? ①失败停止故障; ②可鉴别发送者身份的故障; ③故障。 二、进程、、位于不同场点,当前逻辑时钟分别为、、,三个进程使用和算法实现 互斥。现假设和同时申请进入临界段,当其中一个成功进入临界段期间,也申请进入临界段。试描述到所有进程退出临界段为止,系统的工作情况。(分)

三、用流程图表示发送者主动的负载平衡算法,要求:转移策略使用门槛策略, 新任务达到时启动;选择策略直接选用新到达任务;定位策略要结合随机方法和门槛方法。(分) 四、一个分布式系统由和两个场点构成,场点上有资源、、,场点有资源、、;系统 总共有、、、、五个进程,各自占用和申请资源情况如下: 占用,请求; 占用和,请求和; 占用和; 占用,请求; 请求; 请根据以上信息分别构造场点和的局部进程等待图,以及系统全局等待图,并据此判断是否已经发生死锁。(分)

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

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

第7章分布式操作系统.

第七章分式操作系统 一、填空题 1网络拓扑结构主要有三种,它们是(),(),()· 2.将IP地址和城名对应的协议是()· 3.OSI参考模型由()层组成,TCP/IP参考模型由()组成. 4.在TCP/IP模型的传输层共有两个协议,它们是(),()· 5.将物理地址和IP转化的协议是()· 6.使用TCP提供基于Web浏览器的Internet访问服务的是()服务,它通常使用()端口. 7.Java中与远程过程调用具有相似特性的方法是()· 8.Java中将远程对象注册到RMl名称注册表,以便客户端就能够找到这些服务器对象的语句是()· 9.在分布式系统不能采用诸如信号量,管程等方法来解决进程的互斥和死锁问题,因为这些 10,假设在一个分布式系统中有n个进程,采用分布式算法解决互斥问题时,使用一次所需发送的消息数为()· 11.在选举的环算法中,当一个进程发现管理员不能工作时,它把包含()的选举(ELECTION)消息发给它的后继进程. 12.分布式文件系统的设计基于()模式. 13.命名的透明性分两种:()和()· 14.若某分布式系统某一个文件共有6个复制,假设采用的是Gifford方案,那么需满足(),文件才可以读取或者修改. 15.对读取文件有效,但是丝毫不影响写文件的解决缓存一致性问题的算法是()· 16. Sun公司的NFS实现包括()层,顶层是()· 17.分布式系统通信基于()协议. 18.一个分布式系统是一组通过网络相连的各自独立的计算机的()。 19.分布式系统提供一种高效而且简便的环境来()资源. 20.使用分布式系统主要基于以下四点:资源共享,(),可靠性,通信. 21.要使得系统中的计算机联合起来工作,系统中的计算机必须通过()(比如电缆)的方法连接起来. 22、()结构是将所有网络上的计算机设备全都连接在一条电缆上. 23.星形网路上各个节点之间的通信都统一由()控制。 24.环形网络有以下优点()。 25.网络有两种基本类型:()· 26.共享式局域网可能有不同的拓扑结构:() 27.局城网最基本的物理形式是采用某种类型的导线或电缆,把两台或多台计算机连接起来, 以形成这些计算机之间的()· 28.在大多数广城网中,通信子网一般都包括两部分:()

分布式系统练习题2009秋(1)

1、分布式系统中的体系结构样式有那几种?并简述之。 1)分层体系结构:组件组成了不同的层,其中L i层的组件可以调用下面的层L i-1。其中的关键因素是,其控制系统是从一层到别一层的:请求是从上往下,而请求结果是从下向上。2)基于对象的体系结构:是一种很松散的组织结构。基本上每一个对象都对应一个组件,这些组件是通过过程调用机制来连接的。分层和面向对象的体系结构仍然是大型软件系统最重要的样式。 3)以数据为中心的体系结构,其发展思想:进程通信需要通过一个公用(被动或主动的)仓库。可以分成两个关键的部分:展现当前状态的中央数据结构和一个对数据进行操作的独立组件的集合 4)基于事件的体系结构,进程基本上是通过事件的抟播来通信的,事件传播还可以有选择地携带数据。基本思想是:进程发布事件,然后,中间件将确保那些订阅了这些事件的进程才接收它们,优点是进程是松散耦合的。 2、简述分布式系统设计所面临的问题及遇到的挑战。 1):难以合理设计分配策略,在集中式系统中,所有的资源都由系统系统管理和分配,但在分布式系统中,资源属于局部工作站或个人计算机,所以调度的灵活性不如集中式系统,资源的物理分布可能与服务器的分布不匹配,某些资源可能空闲,而另外一些资源可能超载。 2):部分失效问题:由于分布式系统通常是由若干部分组成的,各个部分由于各种各样的原因可能发生故障,如硬件故障。如果一个分布式系统不对这些故障对这些问题进行有效的处理,系统某个组成部分的故障可能导致整个系统的瘫痪。 3)性能和可靠性过分依赖于网络:由于分布式系统是建立在网络之上的,而网络本身是不可靠的,可能经常发生故障,网络故障可能导致整个系统的终止;另外,网络超负荷会导致性能下降,增加系统的响应时间。 4)缺乏统一控制:一个分布式系统的控制通常是一个典型的分散式控制,没有统一的中心控制。因此,分布式系统通常需要相应的同步机制来协调系统中各个部分的工作; 5)安全保密性问题:为了获得可扩展性,分布式系统中的许多软件接口都提供给用户,这样的开放结构对于开发人员非常有价值,担同时也为破坏者打开了方便之门挑战:设计与实现一个对用户来说是透明的且具有容错能力的分布式系统。 挑战:1. Heterogeneity异构性,包括网络、硬件、操作系统、编程语言、Implementation 组件,<中间件的作用就是隐藏这些异构,并提供一致的计算模式(模块)>,<虚拟机,编译器成虚拟机使用的code>;2. Openness 开放性:提供Services, Syntax, Semantics,合适的接口定义需要兼顾完整性和中立性,同时互操作性和便携性也是重要的,分布式系统需要flexible,即易于配置且把策略和结构分开来获得flexible;3. Security 安全性:安全性包括有效性,机密性,完整性三个要素,拒绝服务攻击和移动代码安全是两个安全方面的挑战。 4. Scalability 可扩展性(可测性),即在资源和用户增加的时候保持效率,size、geographically、administratively的scaleble。要求分散(分布式)算法,没有机器有系统状态的完整信息,机器做决定仅仅是取决于本地信息,一个机器的错误不会毁掉整个算法,没有统一时序。 5. Failure Handling 错误处理。 6. Concurrency 协力,一致(并发?) 7. Transparency 透明度 3、简述远程过程调用的步骤。 Client端:1)发送远程过程调用的消息(以消息包形式)给远程的server端;2) 等待, 直到收到server端对该请求的回复;3) 一旦接收到来自server端的返回执行结果, 就继续执行后面的程序.Server端:1) 倾听状态, 等待client端发送过程调用消息;2)一旦接收到过程调用消息, server就抽取参数并分析它, 然后执行所请求的过程;3)将执行结果以消息包形式回送给

分布式控制试题答案总结

简答题 1、典型的分布式控制系统主要包括哪几个部分? 一个典型的DCS系统包括四大部分组成:至少一个现场控制站(完成系统的运算处理控制),至少一个操作员站(完成人机界面功能、供操作员操作监视),一台工程师站(用于离线组态、’。也可以利用一台操作员站兼做工程师站)’和一条通信系统 2、分布式都有哪几种冗余结构?各有什么优缺点?为什么要采用冗余结构? 1)分布式控制有两种冗余结构,一种是整体式冗余结构,另一种是分离式冗余结构。 2)整体式系统是由早期单回路调节器和PLC组成,因本身有操作器,常采用仪表盘 备用方式;分离式冗余结构常采用多重化冗余结构:配备冷备用数据库,操作器热 备用,CRT远程遥控备用等。整体式冗余结构可以实现完全与系统分离备用,系 统受干扰较小,但是系统成本较高,自动化水平较低;分离式冗余结构可以选择重 要部件备用,投资较小。 3)分布式控制系统是实时在线控制系统,搞可靠性是评价分布式控制系统的主要指 标,通常要求MTBF达到99.9999%以上,就必须对系统采用冷备用,热备用等方 式。通常通信系统全部冗余,控制站中主控部件热备用,电源N+1:N热备用,子 模件和端子板N+1:N冷备用。 3、简述最小拍控制系统的特点。 1)若参数不变,可以实现时间最优控制; 2)本质是开环控制; 3)加反馈可实现闭环最优控制。 4、为什么说分布式控制是递阶控制系统? 1)分布式控制系统具有以下特点: 2)网络结构,将各个子系统通过总线连接起来; 3)分层结构,有工程师站,操作站和控制站等构成; 4)主从结构,集中操作、分散控制,控制站内部又分主从部件。 5)基于以上三点,分布式控制系统是递阶控制系统。 5、人机界面的要求主要包括哪些内容? 人机接口主要是CRT的操作站。对他们主要要求是环境要求,输入特性和图形特性的要求; 1)化境要求首先指人机接口设备对环境的要求:有耐冲击和振动的特性;环境要求的 第二部分是对供电的要求,它包括供电电压等级、类型和容量及允许的极限值等,也涉及到供电方式,冗余配置等内容;环境要求的第三部分是对互联设备的通信距 离限制; 2)输入特性的改善使操作员的操作内容和方式发生根本变化; 3)图形特性是人机接口的重要特性:采用图形用户界面(GUI)、图形处理器(GP) 和图形缓冲(GB)使人机接口的图形特性得到极大的提高。 人机接口的性能取决于所采用的硬件设备和软件系统。采用多任务操作系统、关系数据库、高速数据查询语言及X窗口技术,使得操作人员可以很方便的监视和错做生产过程,使得控制工程师可以方便的组态和编程,使维护工程师能及时发现故障并正确处理。 6、报警的定义? 答: 7. 分布式控制系统为什么采用现场总线控制力式? 采用现场总线控制方式具有如下优点: —20模拟仪表通讯的瓶颈现象:将传统的通讯是单向的模拟信号转变为双向①消除4mA

网络与分布式计算复习提纲

1.2 什么是分布式计算系统?它的实质是什么? 分布式计算系统是由多个相互连接的计算机组成的一个整体,这些计算机在一组系统软件(分布式操作系统或中间件)环境下,合作执行一个共同的或不同的任务,最少依赖于集中的控制过程、数据和硬件。 实质:分布计算系统=分布式硬件+分布式控制+分布式数据。 1.10多处理机与多计算机的区别是什么?同构多计算机和异构多计算机各有什么特点? 区别:多计算机是将多个计算机联合起来处理问题, 多处理机是在一个系统内集成多个处理器. 广义上说,使用多台计算机协同工作来完成所要求的任务的计算机系统都是多处理机系统。即多计算机系统。 狭义上说:多处理机系统的作用是利用系统内的多个CPU来并行执行用户的几个程序,以提高系统的吞吐量或用来进行冗余操作以提高系统的可靠性。 同构计算机的特点: 1.每个节点是一台计算机,包含CPU和存储器。 2.节点间的通信量较少。 3.同构计算机系统的互连有两种结构:基于总线的多计算机系统和基于交换的多计算机系统。 异构计算机的特点:

1.节点差异很大,节点可能是多处理机系统、集群或并行高性能计算机。 2.节点间通过互联网络如Internet连接起来的。 3.有两种实现方法:采用分布式操作系统和中间件软件层。 1.16什么是中间件,它的功能是什么?它在分布式系统中的地位是什么? 中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯,是连接两个独立应用程序或独立系统的软件 功能:命名服务作业调度高级通信服务资源管理数据持久化分布式事务分布式文档系统安全服务 地位:中间件的一个重要目标是对应用程序隐藏底层平台的异构型,因此中间件系统都提供一组完整度不同的服务集。这些服务是通过中间件系统提供的接口来调用的。一般禁止跳过中间件层直接调用底层操作系统的服务。 1.18分布式系统有哪些计算模式?(必考) 1.面向对象模式

简述分布式操作系统

郑州轻工业学院 课程设计报告 题目简述分布式操作系统学生姓名杨元家张峰崎 专业班级计科11-01 学号0152 0153 院(系)计算机与通信工程指导教师张旭 完成时间2014 年6月18日

目录 摘要错误!未定义书签。 1 分布式操作系统的特点错误!未定义书签。 2 网络操作系统和分布式操作系统的区别错误!未定义书签。 网络操作系统错误!未定义书签。 网络操作系统错误!未定义书签。 网络操作系统对于计算机网络的作用错误!未定义书签。 分布式操作系统错误!未定义书签。 集群为了提高计算机的性能错误!未定义书签。 分布式操作系统错误!未定义书签。 网络操作系统和分布式操作系统的区别是:错误!未定义书签。 3 以大规模IPTV点播系统为例说明分布式系统分布方式错误!未定义书签。分布式点播系统分析错误!未定义书签。 分布式系统典型结构错误!未定义书签。 分布式系统工作原理错误!未定义书签。 分布式系统的典型应用错误!未定义书签。 分布式点播系统的局限性错误!未定义书签。 结论错误!未定义书签。 参考文献错误!未定义书签。 分布式操作系统的特点

摘要 本文介绍了分布式操作系统的特点以及与网络操作系统的区别,并且以大规模IPTV 点播系统为例说明分布式系统分布方式,分布式操作系统是在比单机复杂的多机环境下得到实现的,并且具备分布性、自治性、并行性、全局性这四个基本特征,能够实现资源共享,加快计算速度,并且可靠性得到了提高。在分布性与并行性上比网络操作系统有独到的优点,并且在透明性以及健壮性方面具有网络操作系统不可匹敌的优势,在大规模IPTV点播系统中,本文从分布式系统的结构、分布式系统的工作原理、分布式系统的典型作用以及分布式系统的局限性等方面详细阐述了分布式系统在服务器系统中是如何实现分布的。 关键字:分布式操作系统、网络操作系统、IPTV点播系统 1 分布式操作系统的特点 分布式操作系统是在比单机复杂的多机环境下得到实现的,操作系统在进行任何一项任务的始终都要依赖于通信软件模块,故而分布式操作系统具有区别于单机操作系统的下列显著特点: (1)具有干预互连的各处理机之间交互关系的责任。分布式操作系统必须保证在不同处理机上执行的进程彼此互不干扰,并严格同步,以及保证避免或妥善解决各处理机对某些资源的竞争和引起的死锁等问题。

相关文档