没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
Edited By Lasheng Yu, 2019, CSE,CSU
1 / 46
《分布式系统》复习
一、填空题
1. 访问透明性是指对不同数据表示形式以及资源访问方式的隐藏。而位置透明是用户无法
判别资源在系统中的物理位置。
2. 迁移透明性是指分布式系统中的资源移动不会影响该资源的访问方式。而复制透明是指
对同一个资源存在多个副本的隐藏。
3. 一个开放的分布式系统就是根据一系列准则来提供服务,这些准则描述了所提供服务的
语法和语义。
4. 集群计算系统一个突出的特征是它的同构性;它提供了最大限度的分布式透明性。可用
于单个程序在多台计算机上并行地运行。
5. 分布式系统是一组自治的计算机集合,通过通信网络相互连接,实现资源共享和协作,
而呈现给用户的是单个完整的计算机系统。
6. 客户/服务器结构的应用程序通常划分为三层,它们是:用户接口层、处理层和数据层。
7. 两个旅行社甲和乙为旅客到某航空公司订飞机票,形成互斥的资源是 飞机票。
8. 某游戏公司欲开发一个大型多人即时战略游戏,游戏设计的目标之一是能够支持玩家自
行创建战役地图,定义游戏对象的行为和之间的关系。针对该目标,公司应该采用解释
器架构风格最为合适。
9. 在消息队列系统中,队列由队列管理器来管理,它与发送或接收消息的应用程序直接交
互。
10. 所谓幂等,简单地说,就是对接口的多次调用所产生的结果和调用一次是一致的。
11. 业务系统实现幂等的通用方式一般是排重表校验。
12. 对提供者而言,云计算可以三种部署模式,即共有云、私有云和混合云。
13. 在云计算技术中,中间件 位于服务和服务器集群之间,提供管理和服务即云计算体系
结构中的管理系统。
14. 分布式系统体系结构样式很多,其最重要的有:分层体系结构;基于对象的体系结构、
以数据为中心的体系结构以及基于事件的体系结构等四类。
15. 客户/服务器结构的应用程序通常划分为三层,它们是:用户接口层、处理层和数据层。
16. 分布式软件体系结构主要分集中式、非集中式和各种混合形式三大类。其非集中式体系
结构又分为结构化的点对点、非结构化的点对点、超级对等体三种。
17. TCP/IP 体系结构的传输层上定义的两个传输协议为传输控制协议(TCP)和用户数据报
协议(UDP)。
18. 客户/服务器结构的应用程序通常划分为三层,它们是:用户接口层、处理层和数据层。
19. 在逻辑时钟算法中,Lamport 定义了一个称作“先发生”的关系,表达式 ab 表示 a 在
b 之前发生。先发生关系是一个传递关系。
20. 对于域名:test.com,DNS 服务器查找顺序是(先查找.com 域,再查找 test 主机 )。
21. 实现软件自适应的基本技术分为要点分离、计算映像和基于组件的设计三种类型。
22. 分布式的自主系统指的是自我管理、自我恢复、自我配置和自我优化等各种自适应性。
23. 一个线程独立地执行它自己的程序代码。线程系统一般只维护用来让多个线程共享
CPU 所必需的最少量信息。
24. 任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分
Edited By Lasheng Yu, 2019, CSE,CSU
2 / 46
区容错性(Partition tolerance),最多只能同时满足两项。
25. 在服务器的组织结构中,迭代服务器是自己处理请求,将响应返回给客户;而并发服务
器将请求传递给某个独立线程或其他进程来处理。
26. 服务器集群在逻辑上由三层组成,第一层是逻辑交换机;第二层是应用/计算服务;第
三层是文件/数据库系统。
27. 有两种实现线程包的基本方法:一是可以构造一个完全在用户模式下执行的线程;二是
由内核来掌管线程并进行调度。
28. 在代码迁移的框架结构中,进程包含三个段,它们是代码段、资源段和执行段三个段。
29. 进程对资源的绑定有三种类型:一是按标识符绑定;二是按值绑定;三是按类型绑定。
而三种类型的资源对机器的绑定是未连接资源、附着连接资源和紧固连接资源。
30. 中间件是一种应用程序,它在逻辑上位于应用层中,但在其中包含有多种通用协议,这
些协议代表各自所在的层,独立于其他更加特别的应用。
31. 在 RPC 操作中,客户存根的功能是将得到的参数打包成消息,然后将消息发送给服务
器存根。
32. 虚拟化可采用两种方法,一是构建一个运行时系统,提供一套抽象指令集来执行程序。
二是提供虚拟机监视器。
33. 中间件是一种应用程序,它在逻辑上位于应用层中,但在其中包含有多种通用协议,这
些协议代表各自所在的层,独立于其他更加特别的应用。
34. 在远程对象调用中,远程接口使每个远程方法都具有方法签名。
35. 所有 DCE 的底层编程模型都是客户-服务器模型。而 DCE 本身的一部分是由分布式文
件服务、目录服务、安全服务以及分布式时间服务等构成的。
36. 在面向消息的通信中,通常分为面向消息的瞬时通信和持久通信两种机制。
37. 在面向消息的瞬时通信中,通常采用套接字接口和消息传递接口。
38. 在面向持久的通信中,消息队列系统为持久异步通信提供多种支持。它提供消息的中介
存储能力。
39. 在消息队列系统中,队列由队列管理器来管理,它与发送或接收消息的应用程序直接交
互。
40. 应用层多播的基本思想是结点组织成一个覆盖网络,然后用它来传播信息给其成员。一
个重要的因素是网络路由器不在组成员中。
41. 在覆盖网络构建时,主要有两种方法,一种是结点本身直接组织成树;另一种是结点组
织成一个网状网络。
42. 分布式系统中,有三种不同的命名系统,它分别是无层次命名;结构化命名和基于属性
的命名。
43. 在无层次命名中,通常有广播和多播、转发指针、基于宿主位置、分布式散列表、分层
结构等方法实现实体定位。
44. 基于属性的命名系统实现的方式有两种。一种是分层实现,使得目录项集合形成了分层
的目录信息树。而另一种是非集中式实现,它是采用映射到分布式散列表的方式。
45. 一次将所有的消息以相同的顺序传送给每个接收的多播操作称为全序多播。Lamport 时
间戳可以用于以完全分布式的方式实现。
46. 向量时钟能捕获因果关系。创建向量时钟是让每个进程 Pi 维护一个向量 VCi 来完成。
47. 互斥集中式算法的优点是易于实现、很公平、保证了顺序一致性。而缺点是协作者是单
个故障点,如果它崩溃了,整个系统可能瘫痪。
48. 在分布式锁中,惊群效应指的是,在有多个请求等待获取锁的时候,一旦占有锁的线程
释放之后,如果所有等待的方都同时被唤醒,尝试抢占锁。但是这样的情况会造成比较
Edited By Lasheng Yu, 2019, CSE,CSU
3 / 46
大的开销,那么在实现分布式锁的时候,应该尽量避免惊群效应的产生。
49. 分布式系统中,传统的选举算法有两种,一是欺负选举算法;二是环选举算法。
50. 分布式互斥算法的优点是不会发生死锁与饿死现象,也不存在单个故障点。
51. 拜占庭问题(Byzantine Problem)讨论的是允许存在少数节点作恶(消息可能被伪造)
场景下的一致性达成问题。拜占庭容错(Byzantine Fault Tolerant,BFT)算法讨论的是
在拜占庭情况下对系统如何达成共识。
52. 服务器集群在逻辑上由三层组成,第一层是逻辑交换机;第二层是应用/计算服务;第
三层是文件/数据库系统。
53. IDL 编译器的输出包括三个文件,它们是头文件、客户存根和服务器存根。
54. 在面向消息的通信中,通常分为面向消息的瞬时通信和持久通信两种机制。
55. 分布式系统中的互斥算法有四种类型,一是集中式算法、二是非集中式算法、三是分布
式算法、四是令牌环算法。
56. 网络协议有三要素组成,时序是对事件实现顺序的详细说明;语义是指需要发出何种控
制信息以及要完成的动作与作出的响应;语法是指用户数据与控制信息的结构与格式。
57. 在名称解析的实现中,通常采用两种方法,一是迭代名称解析;二是递归名称解析。
58. 用户第一次请求时,负载均衡器将用户的请求转发到了 A 服务器上,如果负载均衡器
设置了粘性 Session 的话,那么用户以后的每次请求都会转发到 A 服务器上。
59. 在逻辑时钟算法中,Lamport 定义了一个称作“先发生”的关系,表达式 ab 表示 a 在
b 之前发生。先发生关系是一个传递关系。
60. 在原子多播里,消息排序通常有 4 种不同的排序方法,它们分别是:不排序的多播、
FIFO 顺序的多播、按因果关系排序多播和全序多播。
61. 虚拟化的典型类型:基础设施虚拟化、系统虚拟化、软件虚拟化。
62. 虚拟化的目的 :对象脱离原有环境、在计算机上被表示、通过计算机控制按需获取。
63. 分布式加密系统通常有三种类型,一是对称加密系统(DES);二是公钥加密系统(RSA)、
三是散列函数(MDS)系统。
64. 云体系结构的开发有如下三层:基础设施层、平台层和应用程序层。这三个开发层使用
云中分配的经虚拟化和标准化的硬件与软件资源实现。
65. 部署基础设施层来支持 IaaS 服务。基础设施层是为支持 PaaS 服务构建云平台层的基
础。平台层是为 SaaS 应用而实现应用层的基础。
66. SaaS 是一种基于互联网提供软件服务的应用模式。
67. 对提供者而言,云计算可以三种部署模式,即 共有云、 、 私有云
和混合云 。
68. 分布式 是公有云计算基础架构的基石。
69. 当前,几乎所有的知名 IT 提供商、互联网提供商,甚至电信运营商都在向云计算进军,
都在提供相关的云服务。但归纳起来,当前云提供者可以分为三大类,即 SaaS 提供商、
和 PaaS、IaaS 提供商。
二、非填空题
1. 中间件在分布式系统中扮演着什么角色?
答:中间件主要是为了增强分布式系统的透明性(这正是网络操作系统所缺乏的),换言之,
中间件的目标是分布式系统的单系统视图。
2. 什么是开放的分布式系统?开放性带来哪些好处?
答:开放的分布式系统根据明确定义的规则来提供服务。开放系统能够很容易地与其它系统
Edited By Lasheng Yu, 2019, CSE,CSU
4 / 46
协作,同时也允许应用移植到同一个系统的不同实现中。
3. 分布式系统的类型。
(1)分布式计算系统(分为群集计算系统和网格计算系统)
(2)分布式信息系统(分为事务处理系统和企业应用集成)
(3)分布式普适系统(如家庭系统、电子健保系统、传感器网络)
4. 计算机系统的硬件异构性、软件异构性主要表现在哪几方面?
计算机系统的硬件异构性主要有三个方面的表现,即:
①计算机的指令系统不同。这意味着一种机器上的程序模块不能在另一种不兼容的机器
上执行,很显然,一种机器上的可执行代码程序不能在另一种不兼容的机器上执行。
②数据表示方法不同。例如不同类型的计算机虽然都是按字节编址的,但是高字节和低
字节的规定可能恰好相反。浮点数的表示方法也常常不一样。
③机器的配置不同。尽管机器的类型可能相同,其硬件配置也可以互不兼容。
计算机系统的软件异构性包括操作系统异构性和程序设计语言异构性。
操作系统异构性的三个主要表现方面为:
①操作系统所提供的功能可能大不相同。例如,不同的操作系统至少提供了不同的命
令集。
②操作系统所提供的系统调用在语法、语义和功能方面也不相同。
③文件系统不同。
程序设计语言的异构性表现在不同的程序设计语言用不同方法在文件中存储数据。
5. 对服务器进程中的线程数目进行限制有意义吗?
答:有。原因有两个:
线程需要内存来设置他们的私有堆栈。因此,线程太多可能导致消耗过多的存储器。
更严重的情况是,对于一个操作系统,独立的线程是以无序的方式在运行。在虚拟存储器系
统中,构建一个相对稳定的工作环境可能比较困难,从而导致许多的页错误和过多的 I/O 操
作,结果可能导致系统性能的下降。
6. 请描述在客户和服务器进程间使用套接字时如何进行无连接通信?
答:同时在客户端和服务器上创建一个套接字,但只有服务器套接字绑定到本地终结点。然
后,服务器可以随后做一个阻塞读取调用用以等待接收从任何客户端传入的数据。同样,在
创建套接字后,客户端仅仅做一个阻塞调用以向服务器写入数据.这是没有必要关闭连接的。
7. 移动计算和普适计算的区别
普适计算可包括移动计算,但普适计算不是移动计算,前者更强调环境驱动性。从技术上来
说,这就要求普适计算对环境信息具有高度的可感知性,人机交互更自然化,设备和网络的
自动配置和自适应能力更强,所以普适计算的研究涵盖中间件、移动计算、人机交互、嵌入
式技术、传感器、网络技术等领域。普适计算要解决的问题包括:扩展性、异构性、不同构
件的集成、上下文感知和不可见性(Invisibility)。其中不可见性对普适计算来说是至关重要的,
因为它要求系统无需用户干预或只需要最少干预,也就是要求系统具有自动和动态的配置机
制。
8. 简述分布式系统中异构性的解决方案。
中间件
---
是指一个软件层,它提供了一个编程抽象,同时屏蔽了底层网络、硬件、
操作系统和编程语言的异构性。
softbus
公共对象请求代理(
Common Object Request Broker, CORBA
)
JAVA
远程调用方法(
Remote Method Invocation
,
RMI
)
大多数中间件基于互联网协议实现,这些协议屏蔽了底层网络的差异,但
是中间件要解决操作系统和硬件的不同。
Edited By Lasheng Yu, 2019, CSE,CSU
5 / 46
移动代码
---是指从能从一台计算机发送到另一台计算机,并在目的计算机上运行的
代码(例如:Java applet)
虚拟机
方法提供了一种代码可以在任何计算机上运行的方法:某种语言的编译器生
成一台虚拟机代码而不是某种硬件代码,虚拟机通过解释的方式来执行它。
9. 简要描绘全局唯一标识符的一个有效实现
答:这些标识符可以在以下方式中可以局部产生:将产生标识符的机器所在的网络地址,附
加上当地时间,沿用一个伪随机数.虽然,在理论上,另一台机器也很有可能产生相同的数字,
这种机会微乎其微。
10.
11. 分布式系统具有透明性时,系统有什么优点。
12. 什么是幂等操作?说说幂等的含义以及其真正的价值。判断集合并、文件记录的插入、
缓冲区的读取、HTTP GET 方法、POST 和 PUT 是否是幂等的。
某个操作可以重复多次而无害出。也就是重复执行多次与执行一次的效果是相当的。
幂等性是分布式系统设计中十分重要的概念,假设有一个从账户取钱的 API:
boolean withdraw(account_id, amount)
它实现的功能是从 account_id 对应的账户中扣除 amount 数额的钱;如果扣除成功则返
回 true,账户余额减少 amount;如果扣除失败则返回 false,账户余额不变。
因为生产环境的网络状况,用户操作的情况非常复杂,比如 API 的请求已经被服务器
剩余45页未读,继续阅读
不能汉字字母b
- 粉丝: 13
- 资源: 291
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 疯狂吃月饼游戏小程序前端源码
- 知识领域: 人工智能 技术关键词: TensorFlow、Keras、深度学习、神经网络
- 知识领域: 自动化测试 技术关键词: pytest、unittest、自动化测试、测试框架
- 知识领域: 数据库管理 技术关键词: SQLAlchemy、数据库、ORM、SQL 内容关键词: 数据库连接、数据查询、数据操作
- 知识领域: 网络编程 技术关键词: socket、网络编程、异步IO、TCP/IP 内容关键词: 客户端、服务器、网络协议
- 知识领域: 自然语言处理 技术关键词: NLTK、spaCy、文本处理、语言模型
- 硬件工程师毕业设计心形灯PCB原理图+程序
- 开源光谱分析仪博客的代码
- 基于深度学习的工业缺陷检测(续篇)
- 大创项目编程示例开发案列优质学习资料资源工具与案列应用场景开发文档教程资料.txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0