分布式系统 复习2015
分布式系统及云计算复习资料

1.分布式计算是一种把需要进行大量计算的工程数据分割成小块,由多台计算机分别计算,在上传运算结果够,将结果统一合并得出数据结论的科学。
2.分布式系统的关键目标:用户可以方便的访问资源;对用户隐藏资源再多台计算机上分布的情况;分布式系统是开放的;分布式系统是可扩展的3.资源可访问性:是用户可以方便的访问远程资源,并且以一种受控的方式与其他用户共享这些资源。
4.透明性;指分布系统是一个整体,而不是独立的组件的组合,系统对用户和应用程序屏蔽其组件的分离性。
5.云计算:由一系列可以动态升级和被虚拟化的资源组成,这些资源被所有云计算的用户所共享并且可以方便的通过网络访问,用户无需掌握与计算技术,只需要按照个人或者团体的需要租赁与计算的资源。
6.云计算的优缺点;优点(1.数据的可移性2.轻松维护个人应用程序和个人文件 3.对计算机的要求低4.给多人协作带来了机会5.资源整合使用率高6.节电省能,降低成本)缺点(1.对网络的高依赖性2.数据的安全问题3.数据的存活能力7.集群运算与网格运算的区别:1在集群中,资源位于单个的管理区中由单个实体进行管理;而在网格系统中,资源分布在不同的管理区。
每个管理区都有其策略和目标2应用程序的调度安排,集群系统中的调度器着眼于提高整个系统性能;而在网格系统中调度器被称为资源代理着眼于提升特定应用的表现来满足终端用户的服务质量需求。
8.分布式系统:是一组自治的计算机集合,通过通信网络和相互链接,实现资源共享和协同工作,而呈现给用户的是单个完整的计算机系统。
9.分布式与集中式区别:1.分布式各组件和进程行为是物理并发的,没有统一时钟,而集中式系统的时间是明确的,同步机制实行起来相对容易 2.分布式系统各组件必须实现可靠安全的相互作用,当一部分出现故障时,系统大部分工作仍可进行。
而集中式系统出现鼓掌则不能继续工作 3.分布式系统的异构性。
4与集中式系统相比,分布式系统响应时间较短。
分布式系统基础考试

分布式系统基础考试(答案见尾页)一、选择题1. 分布式系统的定义是什么?A. 由多个计算机组成的系统,这些计算机通过网络进行通信和协调B. 一个提供分布式服务的计算机系统C. 一种软件技术,使得应用程序可以跨多个硬件和操作系统运行D. 一种允许多个用户同时访问和操作的系统2. 分布式系统中的“分布式”一词的含义是什么?A. 多个系统独立运行B. 数据存储在多个位置C. 系统具有高可用性和容错性D. 所有节点都可以独立完成任务3. 分布式系统的核心特性是什么?A. 并发性B. 透明性C. 可伸缩性D. 容错性4. 分布式系统中的节点可以是哪种类型?A. 服务器B. 桌面电脑C. 移动设备D. 所有这些都可能5. 分布式系统中的通信协议有哪些?A. HTTPB. TCP/IPC. UDPD. 所有这些都可能6. 分布式系统中的数据一致性是指什么?A. 所有节点上的数据完全相同B. 所有节点上的数据保持同步更新C. 所有节点上的数据在某个时间点相同D. 所有节点上的数据可以不同7. 分布式系统中的负载均衡是什么?A. 将请求平均分配到多个服务器B. 将流量限制到单个服务器C. 将流量分散到多个服务器D. 将流量全部转发到单个服务器8. 分布式系统中的复制是什么?A. 在多个节点上创建数据的副本B. 将数据存储在远程位置C. 将数据加密D. 将数据存储在本地9. 分布式系统中的CAP理论指的是什么?A. 一致性、可用性和分区容错性之间的权衡B. 一致性、可用性和性能之间的权衡C. 一致性、可用性和可伸缩性之间的权衡D. 一致性、可用性和安全性之间的权衡10. 分布式系统中的分布式事务是什么?A. 一种需要在多个节点上同步执行的事务B. 一种可以在多个节点上并行执行的事务C. 一种不能在多个节点上同步执行的事务D. 一种可以在多个节点上同步执行但不需要一致性的事务11. 分布式系统的定义是什么?A. 一组独立的计算机通过网络进行通信和协作B. 一个硬件和软件的组合,能够在多个处理器上运行C. 一个提供分布式服务的互联网D. 一个由多个服务器组成的系统,每个服务器都有自己的资源12. 分布式系统中的“分布式”一词意味着什么?A. 多个系统组件位于不同的地理位置B. 多个系统组件共同工作以完成一项任务C. 多个系统组件独立地运行并相互通信D. 多个系统组件共享数据和资源13. 分布式系统中的节点可以是哪种类型?A. 主节点B. 从节点C. 客户端D. 所有类型的节点14. 分布式系统中的数据复制是为了什么目的?A. 提高系统性能B. 防止数据丢失C. 提高数据的可用性D. 保证数据的一致性15. 分布式系统中的负载均衡是一种什么技术?A. 将请求分配到多个服务器以优化性能B. 将流量限制到特定的服务器以避免拥塞C. 将客户端的请求直接路由到正确的服务器D. 使用一种算法来决定哪个服务器应该处理哪个请求16. 分布式系统中的共识算法是什么?A. 一种确保所有节点对数据的一致性达成一致的技术B. 一种用于同步不同节点之间的数据状态的技术C. 一种用于检测和处理网络延迟的技术D. 一种用于管理分布式系统中的故障的技术17. 分布式系统中的容错机制是什么?A. 一种确保系统在部分组件失败时仍能正常运行的技术B. 一种用于检测和修复系统错误的技术C. 一种用于保护系统免受恶意攻击的技术D. 一种用于限制系统中的用户数量的技术18. 分布式系统中的数据分片是什么?A. 将数据分割成小块以便于存储在不同的位置B. 将数据分割成小块以便于在不同的硬件设备上存储C. 将数据分割成小块以便于在不同的网络上进行传输D. 将数据分割成小块以便于在不同的时间点进行访问19. 分布式系统中的消息传递机制是什么?A. 一种用于在节点之间传递消息的技术B. 一种用于在节点之间同步数据的技术C. 一种用于在节点之间交换数据的技术D. 一种用于在节点之间协调任务的技术20. 分布式系统中的安全性是指什么?A. 保护系统免受未经授权的访问B. 保护系统免受未经授权的修改C. 保护系统免受未经授权的数据泄露D. 保护系统免受所有上述威胁21. 分布式系统的定义是什么?A. 一组计算机通过互联网进行通信和协调的系统B. 一个硬件和软件集合,能够在有限时间内处理大量数据C. 一个提供分布式服务的互联网系统D. 一种允许多个用户访问和共享资源的网络架构22. 分布式系统中的“分布式”一词意味着什么?A. 多个系统独立运行B. 数据存储在多个位置C. 系统具有高可用性和可扩展性D. 所有节点共同工作以完成特定任务23. 分布式系统的核心特性包括哪些?A. 可靠性B. 可用性C. 并发性D. 容错性24. 在分布式系统中,通常使用哪种通信协议?A. HTTPB. TCP/IPC. UDPD. ICMP25. 分布式系统中的“容错性”是什么意思?A. 系统在部分组件失败时仍能继续运行的能力B. 系统能够自动恢复丢失的数据或进程的能力C. 系统能够自我调整以避免单点故障的能力D. 系统能够确保所有节点之间的同步性26. 分布式数据库的概念是什么?A. 一个包含多个数据副本的数据库,以提高数据可用性和性能B. 一个只有一个数据副本的数据库C. 一个动态调整数据分布的数据库D. 一个支持实时数据更新的数据库27. 分布式系统的设计原则之一是什么?A. 高度集权B. 高度分散C. 高度可伸缩性28. 在分布式系统中,什么是“微服务”?A. 一种特定的编程风格或架构模式,其中应用程序被拆分成一系列小型服务B. 一种分布式系统的实现技术C. 一种单一的、集中的服务D. 一种特定的数据存储技术29. 分布式系统中的“同步”和“异步”有什么区别?A. 同步是指多个进程或线程在同一时间访问同一资源B. 异步是指多个进程或线程在不同的时间访问同一资源C. 同步通常用于需要数据一致性的场景D. 异步通常用于需要提高系统性能的场景30. 分布式系统的发展历程及其在不同领域中的应用有哪些?A. 分布式系统的发展始于20世纪80年代B. 分布式系统广泛应用于大数据处理、云计算、物联网等领域C. 分布式系统的发展受到了计算机网络技术的影响D. 分布式系统是现代计算机系统的基本组成部分31. 分布式系统的定义是什么?A. 一组通过网络进行通信的计算机系统B. 一个硬件和软件的组合,可以在多个位置进行数据处理和存储C. 一种允许多个服务器共享资源和数据的系统D. 一种设计用于处理大量数据并保证数据一致性的系统32. 分布式系统中的“分布式”一词意味着什么?A. 多个系统独立运行B. 资源共享C. 数据备份D. 所有这些都正确33. 分布式系统的核心特性是什么?B. 高可用性C. 任务无关性D. 资源共享34. 分布式系统中的“并发”是指什么?A. 同时执行多个任务B. 同时访问同一资源C. 同时处理多个数据流D. 同时修改数据库35. 以下哪个选项不是分布式系统中的常见同步问题?A. 机器之间的网络延迟B. 任务执行的先后顺序C. 共享资源的访问冲突D. 数据一致性问题36. 分布式系统中的“透明性”是指什么?A. 用户感觉好像所有的系统组件都在本地运行B. 系统管理员可以远程管理所有组件C. 应用程序的数据和代码在主机之间是可移植的D. 所有这些都正确37. 以下哪个分布式算法不是CAP定理中提到的?A. 客户端-服务器算法B. 一致性算法C. 分区容错算法D. 内容分发算法38. 分布式系统中的“分区容错”是什么意思?A. 在网络故障时,系统仍然可以运行B. 在网络分区时,系统能够继续运行C. 在网络拥堵时,系统仍然可以运行D. 在网络配置错误时,系统能够继续运行39. 以下哪个选项不是分布式系统中的常见性能指标?A. 响应时间B. 可扩展性C. 容错性D. 资源利用率40. 分布式系统与传统集中式系统的最大区别是什么?A. 可靠性更高B. 可伸缩性更好C. 无需依赖中央控制点D. 所有这些都正确二、问答题1. 什么是分布式系统?请简述其基本特性。
分布式数据库系统复习题

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

分布式系统练习题(J2EE)题型:判断(10)、简答(5)、编程(4)、主观题(3)一、简答题1.简述远程方法调用(Remote Method Invocation,RMI)的基本通信原理。
答::远程方法调用(RMI)的基本通信原理:客户端与服务器端内在通过套接字通信。
服务器端1、创建远程服务对象2、接收请求、执行并返回结果(Skeleton)1)解码(读取)远程方法的参数;2)调用实际远程对象实现的方法;3)将结果(返回值或异常)返回给调用程序。
客户端1、建立与服务器的连接2、发送请求、接收返回结果(Stub)1)初始化连接;2)编码并发送参数;3)等待方法调用结果;4)解码(读取)返回值或返回的异常;5)将值返回给调用程序。
2.简述远程方法调用(Remote Method Invocation,RMI)的编程模型(主要编程步骤)。
答:远程方法调用(RMI)的编程步骤:1)定义远程接口;2)定义远程对象/服务;3)定义客户应用,并与远程对象通信;4)调用远程方法(参数及返回值)。
3.简述BMP实体Bean与CMP实体Bean的优缺点。
答:1、编程方面CMP比BMP简单BMP需要通过Bean代码实现数据库的操作;CMP则只需要做相关的映射就可以了。
2、功能方面BMP比CMP强大CMP一般用于单表操作;BMP则可用于单表和多表操作。
4.简述EJB2.1规范中实体Bean的finder方法在容器中的工作机制(要求阐述客户端调用finder方法时EJB容器调用Bean方法的过程)。
答:EJB2.1规范中实体Bean的finder方法在容器中的工作机制(容器调用机制)1.create(1)ejbCreate,若返回异常,则结束,否则转2(2)ejbActivate(3)ejbPostCreate(4)ejbStore(5)返回结果2.find...(1)ejbFind....,若返回异常,则结束,否则转2(2)对(1)返回的结果集,逐个处理(3-5)(3)若对象已经存在于容器内存中,则直接使用,否则转4(4)从Pool中取一个空闲对象,调用ejbActivate与主键值关联(5)调用ejbLoad方法(6)返回结果5.简述无状态会话Bean的生命周期(图示或文字描述均可)。
分布式系统复习题与参考答案(答案完全版)

关于分布式系统复习题与参考答案一、填空题(每题n分,答错个扣分,全错全扣,共计m分)1.下面特征分别属于计算机网络和分布式计算机系统,请加以区别:分布式计算机是指系统内部对用户是完全透明的;系统中的计算机即合作又自治;系统可以利用多种物理和逻辑资源,可以动态地给它们分配任务。
计算机网络是指互连的计算机是分布在不同地理位置的多台独立的“自治计算机”。
2.点到点通信子网的拓扑结构主要有以下几种:星型、环型、树型、网状型,请根据其特征填写相应结构。
网状型:结点之间的连接是任意的,没有规律。
环型:节点通过点到点通信线路连接成闭合环路。
星型:节点通过点到点通信线路与中心结点相连;树型:结点按层次进行连接。
3.分布式计算系统可以分为两个子组,它们是集群计算系统和网格计算系统。
4.分布式事务处理具有4个特性,原子性:对外部来说,事务处理是不可见的;一致性:事务处理不会违反系统的不变性;独立性:并发的事务处理不会相互干扰;持久性:事务处理一旦提交,所发生的改变是永久性的。
5.网络协议有三要素组成,时序是对事件实现顺序的详细说明;语义是指需要发出何种控制信息,以及要完成的动作与作出的响应;语法是指用户数据与控制信息的结构与格式6.根据组件和连接器的不同,分布式系统体系结构最重要的有4种,它们是:分层体系结构、基于对象的体系结构、以数据为中心的体系结构、基于事件的体系结构7.在客户-服务器的体系结构中,应用分层通常分为3层,用户接口层、处理层和数据层。
8.有两种类型的分布式操作系统,多处理器操作系统和多计算机操作系统。
9.软件自适应的基本技术有3种,一是要点分离、二是计算映像、三是基于组件的设计。
10.DCE本身是由多个服务构成的,常用的有分布式文件系统、目录服务、安全服务以及分布式时间服务等。
11.TCP/IP体系结构的传输层上定义的两个传输协议为传输控制协议(TCP)和用户数据报协议(UDP)。
12.Windows NT的结构借用了层次模型和客户/服务器两种模型。
分布式系统试题及答案

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

第一章分布式系统概述1.1什么是分布式系统?分布式系统是若干独立计算机的集合,它们对于用户来说就像一个系统。
1.2分布式系统中透明性的种类、定义。
透明性:如果一个分布式系统能够在用户和应用程序面前呈现为单个计算机系统,这样的分布式系统就称为是透明的。
分类:1、访问透明性:隐藏数据表示形式以及访问方式的不同2、位置透明性:隐藏数据所在位置3、迁移透明性:隐藏资源是否已移动到另一个位置4、重定位透明性:隐藏资源是否在使用中已移动到另一个位置5、复制透明性:隐藏资源是否已被复制6、并发透明性:隐藏资源是否由若干相互竞争的用户共享7、故障透明性:隐藏资源的故障和恢复8、持久性透明性:隐藏资源(软件)位于内存里或在磁盘上。
1.3分布式系统中的扩展技术有哪些?(1)隐藏通信等待时间:包括异步通信和减少通信量(2)分布技术:即分割组件,然后分散到系统中,例如DNS和WWW(3)复制技术: 多拷贝1.4 分布式系统的类型。
(1)分布式计算系统(分为群集计算系统和网格计算系统)(2)分布式信息系统(分为事务处理系统和企业应用集成)(3)分布式普适系统(如家庭系统、电子健保系统、传感器网络)第二章体系结构2.1四种体系结构样式。
分层体系结构(Layered architectures)(网络通信广泛应用)基于对象的体系结构(Object-based architectures)(特点:松散的组织结构;通过远程过程调用进行通信)以数据为中心的体系结构(Data-centered architectures)基于事件的体系结构(Event-based architectures)(优点:进程松散耦合)2.2客户端-服务器模型。
服务器(server):实现某个特定服务的进程客户(client):向服务器请求服务的进程客户端-服务器之间的一般交互:请求/回复(如下左图)基于无连接协议的客户和服务器通信:高效,但是易受传输故障的影响(无法检测消息是否丢失也无法解释是否发生传输故障)。
分布式操作系统复习大纲

分布式操作系统复习大纲在全面复习的基础上,注意掌握下列内容(一)分布式操作系统(0)分布式操作系统的定义文献中已经给出分布式系统的各种定义,没有一个是满意的并且没有一个为其他所同意。
为此,给出一个松散的特征就够了。
Tanenbaum给出如下定义:A distributed system is a collection of independent computers that appearsto its user as a single coherent system.(1)分布式系统的体系结构类型Tanenbaum和Renesse将分布式系统分成五类:❑小型机类型(minicomputer model)❑工作站类型(workstation model)❑处理机池类型(processor pool model)❑工作站-服务器类型(workstation-server model)❑混合类型(hybrid model)(2)构造分布式操作系统的途径⑴从头开始;⑵修改、扩充式;⑶层次式。
(3)分布式操作系统的层次结构一个分布式操作系统大致可分成四层,由内向外依次是:①执行层;②进程通信层;③服务支持层;④用户接口层。
(4)多机,网络和分布式操作系统间差别(5)透明性(Transparency)意义(6)分布式计算机系统的资源管理⑴从单个资源与多个管理者的相互关系❑全集中管理方式即专制(autocratic)管理❑功能分布管理方式即分担管理或分割(partitioned)管理❑浮动管理方式即轮流(successive)管理❑全分散管理方式即民主(democratic)管理⑵从多个资源与多个管理者的相互关系①集中:所有资源属一个管理者管理。
②分管:每一资源只属一个管理者管理。
③部分管理:每一资源属于若干管理者管理。
④合管:每一资源属于全部管理者共同管理。
⑶从实用的角度⑷分布式计算机系统的资源管理的算法①招标(投标)算法②回声算法③由近及远算法(7)分布式操作系统的同步算法⑴偏序Happened-Before关系(筒称HB)的定义:⒈a → b①若a和b是同一进程中的两个事件,且a在b前发生;或者,②若a是一进程中发送消息的事件,b是另一进程中接收同一消息的事件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10. 有三个进程分别运行在不同的机器上,每个机器都有自己的时钟并以不同且不变的速 率工作(进程 1 的时钟嘀嗒了 6 下时,进程 2 的时钟嘀嗒了 8 下,而进程 3 的时钟嘀 嗒了 10 下)。举例说明进程之间消息传递中违反先发生关系的情况,并说明如何用 Lamport 方法解决。
11. How Web Services work? 1 客户发现服务器 2 客户通过建立 TCP 连接来绑定服务 器 3 客户建立 SOAP 请求 4 SOAP 路由器路由请求给合适的服务 器 5 服务器把请求解包,然后处理, 并返回结果 6 结果通过相反的路径返 回到客户端
而三种类型的资源对机器的绑定是未连接资源、附着连接资源和紧固连接资源。 15. 中间件是一种应用程序,它在逻辑上位于应用层中,但在其中包含有多种通用协议,这
些协议代表各自所在的层,独立于其他更加特别的应用。 16. 在 RPC 操作中,客户存根的功能是将得到的参数打包成消息,然后将消息发送给服务
器存根。 17. 虚拟化可采用两种方法,一是构建一个运行时系统,提供一套抽象指令集来执行程序。
4. 集群计算系统一个突出的特征是它的同构性;它提供了最大限度的分布式透明性。可用 于单个程序在多台计算机上并行地运行。
5. TCP/IP 体系结构的传输层上定义的两个传输协议为传输控制协议(TCP)和用户数据报 协议(UDP)。
6. 客户/服务器结构的应用程序通常划分为三层,它们是:用户接口层、处理层和数据层。 7. 在逻辑时钟算法中,Lamport 定义了一个称作“先发生”的关系,表达式 ab 表示 a
CPU 所必需的最少量信息。 12. 有两种实现线程 包的基本方法:一是可以构造一个完全在用户模式下执行的线程;二
是由内核来掌管线程并进行调度。 13. 在代码迁移的框架结构中,进程包含三个段,它们是代码段、资源段和执行段三个段。 14. 进程对资源的绑定有三种类型:一是按标识符绑定;二是按值绑定;三是按类型绑定。
3)以数据为中心的体系结构,其发展思想:进程通信需要通过一个公用(被动或主动的) 仓库。可以分成两个关键的部分:展现当前状态的中央数据结构和一个对数据进行操作的独 立组件的集合 4)基于事件的体系结构,进程基本上是通过事件的抟播来通信的,事件传播还可以有选择 地携带数据。基本思想是:进程发布事件,然后,中间件将确保那些订阅了这些事件的进程 才接收它们,优点是进程是松散耦合的。
9. 实 现 分 布 式 系 统 同 步 的复 杂 性 表 现 在 哪 几 个 方面 ? 说 明 先 发 生 关 系 ,并 说 明 在 LAMPORT 算法中怎样给事件分配时间。
答:分布式算法有如下性质:1)相关信息分散在多台机器上;2)进程决策仅依赖于本地信息;3)系 统中单点故障应避免;4)没有公用时钟和其他精确的全局时间资源存在。前三点说明在一处收集所有 信息并对他们进程处理是不可接受的,左后一点说明在分布式系统获得时间上的一致并不是容易的。 LAMPORT 算法的解决方案是直接使用先发生关系,每条消息都携带发送者的时钟以指出其发送的时间, 当消息到达时,接受者的时钟比消息发送者时钟小,就立即将自己的时钟调到比发送者的时间大 1 或更 多的值,我们给出一种测量时间的方法,使得对每一事件 a,在所有进程中都认可给它一个时间值 C(a), 在给事件分配时间时要遵循一下规则:1)在同一进程中 a 发生在 b 之前则 C(a)<C(b);2)若 a 和 b 分 别代表发送消息和接收消息,则 C(a)<C(b);3)对所有事件 a 和 b,C(a)≠C(b)
互。 22. 分布式系统中,有三种不同的命名系统,它分别是无层次命名;结构化命名和基于属性
的命名。 23. 在无层次命名中,通常有广播和多播、转发指针、基于宿主位置、分布式散列表、分层
结构等方法实现实体定位。
24. 基于属性的命名系统实现的方式有两种。一种是分层实现,使得目录项集合形成了分层
的目录信息树。而另一种是非集中式实现,它是采用映射到分布式散列表的方式。
二是提供虚拟机监视器。 18. 在面向消息的通信中,通常分为面向消息的瞬时通信和持久通信两种机制。 19. 在面向消息的瞬时通信中,通常采用套接字接口和消息传递接口。 20. 在面向持久的通信中,消息队列系统为持久异步通信提供多种支持。它提供消息的中介
存储能力。 21. 在消息队列系统中,队列由队列管理器来管理,它与发送或接收消息的应用程序直接交
7. 简述分布式系统设计所面临的问题及遇到的挑战。 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 透明度 8. 对于接收消息 Receive 原语,为什么需要缓存, 缓存的作用是什么?
25. 向量时钟能捕获因果关系。创建向量时钟是让每个进程 Pi 维护一个向量 VCi 来完成。
26. 互斥集中式算法的优点是易于实现、很公平、保证了顺序一致性。而缺点是协作者是单
个故障点,如果它崩溃了,整个系统可能瘫痪。
27. 分布式互斥算法的优点是不会发生死锁与饿死现象,也不存在单个故障点。
28. 服务器集群在逻辑上由三层组成,第一层是逻辑交换机;第二层是应用/计算服务;第
4)解码(读取)返回值或返回的异常; 5)将值返回给调用程序。
4. 试举例说明没有统一时钟的分布式系统会发生什么问题?
解答:当每台机器有它自己的时钟时,一个发生于另一事件之后的事件可能会 被标记为一个比另一个事件更早的时间。例:
5. 什么是 RPC?试简述 RPC 的执行步骤。 答:RPC 是 remote procedure call(远程过程调用)的简称。RPC 思想是使远程的过程调 用就像在本地的过程一样,调用者不应该意识到此调用的过程是在其他机器上实行的。 RPC 的执行步骤: (1) 客户过程以普通方式调用相应的客户存根; (2) 客户存根建立消息,打包并激活内核陷阱; (3) 内核将消息发送到远程内核; (4) 远程内核将消息发送到服务器存根; (5) 服务器存根将消息解包,取出其中参数后调用服务器过程; (6) 服务器完成工作或将结果返回服务器存根; (7) 服务器存根将它打包并激活内核陷阱; (8) 远程内核将消息发送至客户内核; (9) 客户内核将消息交给客户存根; (10) 客户存根将消息解包,从中取出结果返回给客户;
答:如果不适用缓存,服务器接收来的消息会被丢弃或者存在诸如服务器需要存储和管理早到来的消息 这样的问题。缓存的作用就是用来统一管理消息的:它定义了一种叫邮箱的数据结构,接收客户端请求 的进程通知内核创建邮箱存储消息,并且指定了访问地址。当 Receive 原语调用是,系统内核就会提取 消息并知道如何处理它。
都在提供相关的云服务。但归纳起来,当前云提供者可以分为三大类,即 SaaS 提供商、
和
提供商。 PaaS、IaaS
Байду номын сангаас
二、非填空题
1. 要使用 Lamport 时间戳实现全序多播,是不是每个消息都必须要被严格地确认? 答:不需要,任何类型的消息,只要它的时间戳大于所接收到的消息的时间戳,就可以被加 入消息队列,使用 Lamport 时间戳实现全序多播。 2. 简要描绘全局唯一标识符的一个有效实现 答:这些标识符可以在以下方式中可以局部产生:将产生标识符的机器所在的网络地址,附 加上当地时间,沿用一个伪随机数.虽然,在理论上,另一台机器也很有可能产生相同的数字, 这种机会微乎其微。 3. 简述远程方法调用(Remote Method Invocation,RMI)的基本通信原理。 答::远程方法调用(RMI)的基本通信原理:
客户端与服务器端内在通过套接字通信 服务器端 1、创建远程服务对象 2、接收请求、执行并返回结果(Skeleton)