分布式系统试题及答案
《分布式微服务和DevOps下的非功能测试》试题及答案

《分布式微服务和DevOps下的非功能测试》试题及答案单选题(10道)每题4分;多选题(10道)每题6分;您的姓名: [填空题] *_________________________________1. 以下描述中,错误的观点是哪个()?【单选题】 [单选题] *A、API测试的执行效率比GUI测试要高出很多B、在DevOps的大环境下,测试基础架构的建设变得越来越重要C、当需要准备大量测试数据的时候,推荐使用API方式来创建数据(正确答案)D、测试本身具有不可穷尽性, 采用基于风险驱动的模式来确定测试范围是目前常用的方法2. 以下描述中,正确的观点是哪个()?【单选题】 [单选题] *A、在执行单元测试的时候,当代码覆盖率达到了100%的时候,软件的质量是可以信赖的B、现在应该更多地开展GUI测试,因为这是用户最终的使用场景C、A/B测试是软件测试的一种技术D、单个测试用例没有好坏之分,衡量测试用例的优劣必须以测试用例集合的完备性来评价(正确答案)3. 以下不属于API测试的工具是哪个()?【单选题】 [单选题] *A、PostmanB、SOAPUIC、JMeterD、Selenium(正确答案)4. 以下属于单元测试的工具是哪个()?【单选题】 [单选题] *A、PostmanB、TestNG(正确答案)C、UFTD、ALM5. 以下属于移动应用测试的工具是哪个()?【单选题】 [单选题] *A、Appium(正确答案)B、UFTC、TestNGD、LoadRunner6. 以下属于前端性能测试的工具是哪个()?【单选题】 [单选题] *A、JMeterB、LoadRunnerC、LoadUID、WebPageTest(正确答案)7. 以下哪个工具是用于GUI测试环境搭建的()?【单选题】 [单选题] *A、PuppeteerB、PhantomJSC、Selenium Grid(正确答案)D、DBMock8. 以下不属于GUI自动化测试分层设计的概念是哪个()?【单选题】 [单选题] *A、页面对象模型B、业务流程封装C、模块化设计D、使用Mock解决依赖(正确答案)9. 单元测试的对象是什么()?【单选题】 [单选题] *A、代码(正确答案)B、接口C、数据库D、界面10. 单元测试的主要测试技术不包括哪个()?【单选题】 [单选题] *A、白盒测试B、静态代码扫描C、代码覆盖率衡量D、UI功能验证(正确答案)11. 微服务化后,对于测试来讲会有哪些挑战()?【多选题】 *A、测试用例数量会有很大的增长(正确答案)B、微服务之间的相互依赖变得复杂(正确答案)C、测试环境的搭建变得更为复杂(正确答案)D、测试数据的准备变得更为复杂(正确答案)12. 目前主流的测试数据创建方法有哪些?()?【多选题】 *A、通过数据库来创建(正确答案)B、通过API调用来创建(正确答案)C、通过GUI的操作来创建D、通过数据库和API相结合的方式来创建(正确答案)13. 当需要对某个系统进行测试的时候,应该从哪些方面来设计测试用例?()?【多选题】 *A、功能验证(正确答案)B、性能相关的验证(正确答案)C、兼容性相关的验证(正确答案)D、安全性相关的验证(正确答案)14. 无头浏览器的主要应用场景是?()?【多选题】 *A、网络爬虫(正确答案)B、GUI自动化功能测试C、环境的冒烟测试(正确答案)D、以上全是15. 软件测试过程中,测试数据准备的痛点有哪些?()?【多选题】 *A、On-the-fly测试数据准备的时间消耗(正确答案)B、Out-of-box测试数据的脏数据(正确答案)C、测试数据本身组合的复杂性和多样性(正确答案)D、性能测试数据准备的时间消耗(正确答案)16. 影响GUI自动化测试稳定性的因素有哪些()?【多选题】 *A、非预计的弹出对话框(正确答案)B、页面控件属性的细微变化(正确答案)C、随机的页面延迟造成控件识别失败(正确答案)D、测试数据问题(正确答案)17. 测试执行环境的常见痛点有哪些?()?【多选题】 *A、对使用者而言,测试执行环境不透明性,需要知道测试执行环境的细节(正确答案)B、对测试环境维护者而言,测试执行环境的维护工作量大”(正确答案)C、测试执行环境的执行能力的“可扩展性”较差(正确答案)D、测试用例的数量多,测试执行时间较长(正确答案)18. 在搭建Selenium Gird测试执行集群的过程中,使用到的正确命令是下面哪两个?()?【多选题】 *A、java -jar selenium-server-standalone-3.XX.0.jar -role hub(正确答案)B、java -jar selenium-server-standalone-3.XX.0.jar -role node -hubhttp://localhost:4444/grid/register(正确答案)C、java -jar selenium-server-standalone-3.XX.0.jarD、java -jar selenium-server-standalone-3.XX.0.jar -role node19. 以下描述中,错误的观点是哪几个?()?【多选题】 *A、性能测试仅仅关注软件使用速度的快慢(正确答案)B、只做系统测试就能保证软件的质量(正确答案)C、要做好测试工作,除了测试领域的知识,测试工程师还必须掌握一定的架构知识D、GUI测试的自动化率必须要求100%(正确答案)20. 以下描述中,正确的观点是哪几个?()?【多选题】 *A、测试基础架构的建设不能一蹴而就,而是不断演变迭代而来(正确答案)B、测试策略的分层设计有助于提高测试的效率(正确答案)C、单元测试的实施成本很高,所以不建议使用D、微服务架构推崇小而美的原则,所以让软件测试变得更简单易行了。
分布式数据库系统(重点解析,经典试题及答案)

第9章分布式数据库系统9.1 基本内容分析9.1.1 本章重要概念(1)分布计算的三种形式:处理分布,数据分布,功能分布。
(2)C/S系统,工作模式,技术特征,体系结构,两层、三层、多层C/S结构。
(3)DDBS的定义、特点、优点、缺点和分类;分布式数据存储的两种形式(分片和分配)。
(4)DDB的体系结构:六层模式,分布透明性的三个层次,DDBS 的组成,DDBMS的功能和组成。
(5)分布式查询处理的查询代价,基于半联接的优化策略,基于联接的优化策略。
(6)分布式数据库的并发控制和恢复中出现的问题,以及处理机制。
9.1.2 本章的重点篇幅(1)两层、三层、多层C/S结构。
(教材P365-367)(2)分布式数据存储:分片和分配。
(教材P375-377)(3)DDB的体系结构。
(教材P378的图9.10,P381的图9.12)(4)基于半联接的执行示意图。
(教材P389的图9.17)9.2 教材中习题9的解答9.1 名词解释·集中计算:单点数据和单点处理的方式称为集中计算。
·分布计算:随着计算机网络技术的发展,突破集中计算框架,DBMS的运行环境逐渐从单机扩展到网络,对数据的处理从集中式走向分布式、从封闭式走向开放式。
这种计算环境称为分布计算。
·处理分布:指系统中处理是分布的,数据是集中的这种情况。
·数据分布:指系统中数据是分布的,但逻辑上是一个整体这种情况。
·功能分布:将计算机功能分布在不同计算机上执行,譬如把DBMS 功能放在服务器上执行,把应用处理功能放在客户机上执行。
·服务器位置透明性:指C/S系统向客户提供服务器位置透明性服务,用户不必知道服务器的位置,就可以请求服务器的服务。
·集中式DBS:所有工作都由一台计算机完成,这种DBS称为集中式DBS。
·DDBS:是物理上分散逻辑上集中的DBS,每一场地既能完成局部应用又能完成全局应用,这种系统称为DDBS。
分布式面试题

分布式面试题在当今互联网的领域中,分布式系统已经成为了一个非常重要的话题。
在软件工程师面试中,分布式面试题也愈发普遍。
本文将从理论、实践和设计三个方面,以及常见的分布式面试题为切入点,为读者介绍分布式系统的相关知识。
一、理论基础分布式系统是由多台独立计算机组成的,它们通过网络进行通信和协调工作。
理解分布式系统的基本概念对于面试中的问题回答至关重要。
以下是常见的理论基础问题:1. 什么是分布式系统?请举例说明。
2. 分布式系统与集中式系统相比有何优势和劣势?3. CAP 理论中的一致性、可用性和分区容错性分别指什么?它们之间是否可以完全兼容?二、实践经验在实际工作中,软件工程师经常需要设计、构建和维护分布式系统。
以下问题涉及到了实践中的一些常见挑战和解决方案:4. 在分布式系统中,如何实现数据的一致性?5. 分布式系统中常见的通信协议有哪些?请分别举例说明。
6. 如何处理分布式系统中的故障和局部失效?三、设计思路设计一个高效、可扩展和可靠的分布式系统是软件工程师面试中的经典问题。
以下问题将考察面试者在设计分布式系统方面的能力:7. 如果要设计一个分布式缓存系统,你会从哪些方面考虑?8. 如何解决分布式系统中的数据一致性问题?9. 如何设计一个负载均衡方案来保证系统的高可用性和性能?通过以上的分布式面试题,面试官可以了解面试者对分布式系统的理论知识、实践经验以及设计能力的掌握情况。
但要注意,以上只是一些常见的例子,面试题目可能会更具体和专业。
在答题过程中,应该注意以下几点:1. 明确问题:准确理解问题的意思,确保回答与问题相关。
2. 结构清晰:采用逻辑清晰的结构,让回答更容易理解。
3. 深入思考:对于问题的回答不要停留在表面,展示自己的思考能力和深入了解。
总结起来,分布式面试题主要涉及理论、实践和设计三个方面。
掌握分布式系统的基本概念、解决实际问题的经验以及设计高效可靠系统的能力对于成功回答面试题至关重要。
分布式系统的面试题

分布式系统的面试题
分布式系统是一个复杂且重要的领域,涉及多个组件和技术的协同工作。
以下是一些可能的分布式系统的面试题:
1. 什么是分布式系统?它与集中式系统的主要区别是什么?
2. 在分布式系统中,如何保证数据的一致性?
3. 请解释CAP定理及其对分布式系统设计的影响。
4. 什么是分布式事务?如何在分布式系统中实现它?
5. 请解释分布式系统的基本要素,如节点、副本、数据分区等。
6. 在分布式系统中,如何处理节点故障?
7. 请解释分布式系统的容错性和可用性之间的权衡。
8. 如何检测和诊断分布式系统中的问题?
9. 请解释分布式系统中的负载均衡和数据分片。
10. 在分布式系统中,如何实现高效的通信和同步?
11. 请解释分布式系统中的一些常见问题,如网络延迟、数据倾斜、数据一致性等。
12. 如何优化分布式系统的性能和可扩展性?
13. 请解释分布式系统中的一些常见技术,如消息队列、服务注册与发现、分布式缓存等。
14. 在分布式系统中,如何保证数据的安全性和隐私保护?
15. 请讨论在分布式系统中使用无中心架构的优缺点。
16. 如何处理分布式系统中的数据分片和迁移?
17. 请解释在分布式系统中使用版本控制的重要性和常见做法。
18. 请讨论在分布式系统中实现跨多个数据中心的容灾备份的挑战和策略。
19. 如何保证分布式系统中的数据完整性和一致性?
20. 在分布式系统中,如何进行系统监控和日志管理?
以上是一些可能的面试题,涵盖了分布式系统的基本概念、技术、优化、问题处理等方面。
理解和掌握这些概念和技术对于深入研究和应用分布式系统是非常重要的。
DCS试题及答案

一、DCS简答题1、DCS基本含义是什么?试述其基本结构及各层结构的基本功能。
答:集散控制系统DCS(Distributed Control System),又称为分布式控制系统是利用计算机技术对生产过程进行集中监测、操作、管理和分散控制的一种新型控制技术。
是由计算机技术、信号处理技术、测量控制技术、通讯网络技术、CRT技术、图形显示技术及人机接口技术相互渗透发展而产生的。
DCS既不同于分散的仪表控制,又不同于集中式计算机控制系统,而是克服了二者的缺陷而集中了二者的优势。
它具有通用性强、系统组态灵活、控制功能完善、数据处理方便、显示操作集中、人机界面友好、安装简单规范化、调试方便、运行安全可靠的特点,适用于石油、化工、冶金、轻工、造纸等各种生产过程,能提高生产自动化水平和管理水平,提高产品质量,降低能源消耗和原材料消耗,提高劳动生产率,保证生产的安全,促进工业技术发展,创造最佳的经济效益和社会效益。
DCS按功能分层结构充分体现呢其分散控制和集中管理的设计思想。
DCS从下至上依次分为直接控制层、操作监控层、生产管理层和决策管理层。
1)直接控制层是DCS的基础,其主要设备试过程控制站(PCS),PCS主要由输入输出单元(IOU)和过程控制单元(PCU)两部分组成。
输入输出单元(IOU)直接与生产过程的信号传感器、变送器和执行器连接,其功能一是采集反映生产状况的过程变量(如温度、压力、流量、料位、成分)和状态变量(如开关或按钮的通或断,设备的启或停),并进行数据处理;二是向生产现场的执行器传送模拟量操作信号(4mA~20mA DC)和数字量操作信号(开或关、启或停)。
过程控制单元下于IOU连接,上与控制网络(CNET)连接,其功能一是直接数字控制(DDC),即连续控制、逻辑控制、顺序控制和批量控制等;二是与控制网络通信,以便操作监控层对生产过程进行检测和操作;三是进行安全冗余处理,一旦发PCS硬件和软件故障,就立即切换到备用件,保证系统不间断地安全运行。
分布式系统架构设计Fourinone试题及答案

分布式系统架构设计Fourinone试题及答案1.分布式系统中的扩展技术通常有?隐藏通信等待时间〔正确答案〕复制技术〔正确答案〕互操作性可移植性2.下面属于分布式混合体系结构的是?点对点体系结构超级对等体边界效劳器系统〔正确答案〕协作分布式系统〔正确答案〕3.下面形成分布式反应限制循环的元素是?尺度预测组件〔正确答案〕循环体反应分析组件〔正确答案〕调整方法组件〔正确答案〕4.在分布式虚拟机体系结构中,虚拟化通常采用的方式是系统调用系统移植构建进程虚拟机〔正确答案〕虚拟机监视器〔正确答案〕5.进行代码迁移的理由是?提升系统的整体性能〔正确答案〕提升灵活性〔正确答案〕提升平安性提升存储水平6.在迁移与本地资源的关系中,进程对资源的绑定有?紧固连接的绑定按标识符绑定〔正确答案〕按值绑定〔正确答案〕按类型绑定〔正确答案〕7.在迁移与本地资源的关系中,资源对机器的绑定有?未连接资源〔正确答案〕附着连接的资源〔正确答案〕紧固连接的资源〔正确答案〕按类型的资源8.在DEC中,IDL中的头文件包含?唯一标识符〔正确答案〕调用语义类型定义〔正确答案〕常量定义与函数原型〔正确答案〕9.早面向消息的持久通信中,消息队列系统中的根本接口有?put〔正确答案〕get〔正确答案〕M_bsendsocket10.在流同步中,同步机制需要搞清楚的问题是?限制接口MPEG 流俩个流同步的根本机制〔正确答案〕在网络下机制的版本〔正确答案〕11.网络体系结构可以定义为?一种计算机网络的实现执行计算机数据处理的软件结构建立和使用通信硬件和软件的一套规那么和标准〔正确答案〕由ISO制定的一个标准12.在OSI参考模型中,数据链路层的数据效劳单元是?分组报文帧〔正确答案〕比特序列13.下面属于分布式计算系统的是?资源治理集群计算〔正确答案〕网格计算〔正确答案〕运行应用程序14.目前分布式信息系统按集成可分为?事务处理系统〔正确答案〕企业应用集成〔正确答案〕网络治理资源分配系统15.现在已认可的分布式系统软件体系结构样式有?分层体系结构〔正确答案〕基于对象的体系结构〔正确答案〕以数据为中央的体系结构〔正确答案〕基于事件的体系结构〔正确答案〕16.俩个旅行社甲和乙为旅客订某航空公司机票,形成互斥的资源是?飞机票〔正确答案〕旅行社航空公司旅行社和航空公司17. DNS属于〔〕协议.应用层〔正确答案〕传输层互联网层网络接口层18.活动目录是一种〔〕结构的目录效劳.层次式〔正确答案〕分布式〔正确答案〕对等式主次式19.对于域名:test , DNS效劳器查找的顺序是?先查找test主机,再查找域先查找域,再查找test主机〔正确答案〕随机查找以上答案皆是20. SMTP协议是关于〔〕的协议.邮件传输〔正确答案〕文件传输超文本传输网络新闻组件传输21. POP3协议是关于〔〕的协议.超文本传输邮件传输接收邮件〔正确答案〕网络新闻组件传输22.远程客户端登录终端效劳器必须提供一定的信息,以下有〔〕属于这种必要的信息.用户名〔正确答案〕域效劳器IP地址〔正确答案〕连接名称23.在多播通信中,应用层多播树的质量通常以〔〕不同的尺度来度量. 链接树〔正确答案〕相对延时补偿〔正确答案〕树本钱〔正确答案〕树结构24.以多播流方式传递内容时只能采用〔〕类型的发布点.单播发布点播送发布点〔正确答案〕单播发布点或播送发布既不是单播发布点也非播送发布点25. DNS名称空间是分层组织的一棵有根树,标识符有?字母组成数字组成字母和数字组成〔正确答案〕汉字组成26. IDL编译器的输出包括的文件是?文件头〔正确答案〕客户存根〔正确答案〕守护程序效劳器存根〔正确答案〕27.以下属于流同步的是?位同步字同步离散数据流与连续数据流之间同步〔正确答案〕口型同步〔正确答案〕28.实现线程的根本方法有?构造一个完全在用户模式下执行的线程库〔正确答案〕由进程间间通信实现由内核来治理线程并进行调整〔正确答案〕由用户程序来实现29.下面是多线程效劳器可行的设计方法是?多线程文件效劳器〔正确答案〕Web效劳单线程文件效劳器〔正确答案〕作为有限状态机〔正确答案〕30.与迭代名称解析比拟,递归名称解析的优点是?要求效劳器性能高缓存结果更为有效〔正确答案〕能减少通信开销〔正确答案〕算法简单31.名称用来表示实体,下面属于尸体名称的是?实体图标识符〔正确答案〕易于理解的名称〔正确答案〕实体地址〔正确答案〕32.下面用于定位移动实体的方法是?使用播送与多播〔正确答案〕使用转发指针〔正确答案〕给实体指定一个起始位置〔正确答案〕创立一棵分层搜索树〔正确答案〕33.分布式系统的全局状态是指?用于计算的临时记录每个进程的本地状态〔正确答案〕要发送的消息当前正在传输中的消息〔正确答案〕34.面向消息的中间件模型一般提供?持久异步通信〔正确答案〕RPC和RMI电子邮件〔正确答案〕工作流〔正确答案〕35.在分布式系统中,实现事务的方法是?创立进程为进程分配私有工作空间〔正确答案〕做写前日志〔正确答案〕创立线程36.并发限制的总体思想是?正确调度相冲突的操作〔正确答案〕对事务进行治理进行数据的更新有序的通信37.下面属于进程同步算法的是?FIFO算法基于优先级的算法选举算法〔正确答案〕互斥算法〔正确答案〕38.严格一致性中存在的问题是?依赖于绝对的全局时间〔正确答案〕不依赖与绝对的全局时间依赖于并发限制算法不依赖与并发限制算法39.以下属于“以数据为中央的一致性模型〞是?持久一致性〔正确答案〕最终一致性因果一致性〔正确答案〕顺序一致性〔正确答案〕40.以下属于“以客户为中央的一致性模型“是?严格一致性单调读一致性〔正确答案〕单调写一致性〔正确答案〕读写一致性〔正确答案〕41.下面属于一致性协议的是?传输协议中间件协议基于主备份的协议〔正确答案〕复制的写协议〔正确答案〕42.基于主备份的协议是指?负责协调X上的远程写操作〔正确答案〕负责协调X上的本地写操作〔正确答案〕主动复制・协调操作43.冗余是获得容错性所需的技术,下面属于冗余掩盖故障的是?存储器冗余信息冗余〔正确答案〕时间冗余〔正确答案〕物理冗余〔正确答案〕44.在可靠多播通信中,解决反应拥塞的方法是?无等级的反应限制〔正确答案〕分等级的反应限制〔正确答案〕分层的反应限制闭环反应限制45.实现可靠原子多播的方法是?转发指针消息排序〔正确答案〕虚拟同步〔正确答案〕指针缓存。
操作系统简答题试题及答案

1.I/O软件一般分为哪几个层次?从硬件层到用户层分为中断处理程序;设备驱动程序;与设备无关的I/O软件;用户空间的I/O软件等4层。
2.操作系统有哪些基本类型?基本的操作系统类型有三种:多道批处理操作系统,分时操作系统及实时操作系统。
.各举出一个实例?随着计算机体系结构的发展,先后出现了个人计算机操作系统、嵌入式操作系统、多处理机操作系统、网络操作系统和分布式操作系统。
3.有几种I/O控制方式?各自的含义是什么?答:常用的I/O控制技术有4种:程序直接控制方式、中断控制方式、DMA方式和通道控制方式。
程序直接控制方式是由用户进程直接控制内存或CPU和外围设备之间的信息传送。
这种方式控制者都是用户进程。
中断方式被用来控制外围设备和内存与CPU之间的数据传送。
这种方式要求CPU与设备(或控制器)之间有相应的中断请求线,而且在设备控制器的控制状态寄存器的相应的中断允许位。
DMA方式又称直接存取(direct memory access)方式。
其基本思想是在外围设备和内存之间开辟直接的数据交换通道。
通道控制(channel control)方式与DMA方式相类似,也是一种以内存为中心,实现设备和内存直接交换数据的控制方式。
与之不同的是,在DMA方式中数据传送方向、存放数据内存始址以及传送的数据块长度等都是由CPU控制,而在通道方式中这些都是由专管输入输出的硬件——通道来进行控制4.常见的文件物理结构有哪些?各有什么特点?各自与文件的存取方式的关系如何?常见的文件物理结构有顺序结构,链接结构,索引结构。
顺序结构以编号连续的磁盘块存储文件内容,适合于顺序存取和直接存取;链接结构将逻辑上连续的文件块存放到不连续的物理块中、然后在每一个物理块保存一个存放下一个逻辑块的物理块的指针,以保持逻辑块的连续性,此类结构顺序存取;以索引结构存储的文件,适合于顺序存取、直接存取。
索引结构是在文件目录中设置一张文件物理块的索引表,表中依文件逻辑块的顺序登记各个逻辑块所在的物理块地址。
分布式系统题库1-0-4

分布式系统题库1-0-4问题:[单选]在分布式数据库中,()是指各场地数据的逻辑结构对用户不可见。
A.分片透明性B.场地透明性C.场地自治D.局部数据模型透明性在分布式数据库中,分布透明性指用户不必关心数据的逻辑分片,不必关心数据物理位置分配的细节,也不必关系各个场地上数据库数据模型。
分布透明性可归入物理独立性的范围,包括3个层次:分片透明性、位置透明性和局部数据模型透明性。
分片透明性是最高层次的分布透明性,即用户或应用程序只对全局关系进行操作而不必考虑数据的分片。
位置透明性是指用户或应用程序应当了解分片情况,但不必了解片段的存储场地。
位置透明性位于分片视图与分配视图之间。
局部数据模型透明性位于分配视图与局部概念视图之间,指用户或应用程序要了解分片及各片段存储的场地,但不必了解局部场地上使用的是哪种数据模型。
问题:[单选]对与在船上工作的人员而言:()A.有压力是好事,没有压力人就没有上进的动力;B.长期生活在压力中对人的精神面貌是有积极的作用的;C.人对压力的反应是不同的,如不能适应会导致身体损耗和疾病;D.压力会使人成熟起来,使人能够冷静的对待自己周围所发生的事情。
问题:[单选]与集中式系统相比,分布式系统具有很多优点,其中()不是分布式系统的优点。
A.提高了系统对用户需求变更的适应性和对环境的应变能力B.系统扩展方便C.可以根据应用需要和存取方式来配置信息资源D.不利于发挥用户在系统开发、维护、管理方面的积极性与主动精神根据硬件、软件、数据等资源在空间的分布情况,信息系统的结构可分为集中式和分布式两大类。
集中式系统的主要优点是:(1)信息资源集中,管理方便,规范统一。
(2)专业人员集中使用,有利于发挥他们的作用,便于组织人员培训和提高工作。
(3)信息资源利用率高。
(4)系统安全措施实施方便。
集中式系统的不足之处是:(1)随着系统规模的扩大和功能的提高,集中式系统的复杂性迅速增长,给管理、维护带来困难。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分布式系统复习题库及答案1、计算机系统的硬件异构性、软件异构性主要表现在哪几方面?参考答案:计算机系统的硬件异构性主要有三个方面的表现,即:①计算机的指令系统不同。
这意味着一种机器上的程序模块不能在另一种不兼容的机器上执行,很显然,一种机器上的可执行代码程序不能在另一种不兼容的机器上执行。
②数据表示方法不同。
例如不同类型的计算机虽然都是按字节编址的,但是高字节和低字节的规定可能恰好相反。
浮点数的表示方法也常常不一样。
③机器的配置不同。
尽管机器的类型可能相同,其硬件配置也可以互不兼容。
计算机系统的软件异构性包括操作系统异构性和程序设计语言异构性。
操作系统异构性的三个主要表现方面为:①操作系统所提供的功能可能大不相同。
例如,不同的操作系统至少提供了不同的命令集。
②操作系统所提供的系统调用在语法、语义和功能方面也不相同。
③文件系统不同。
程序设计语言的异构性表现在不同的程序设计语言用不同方法在文件中存储数据。
2、由于分布计算系统包含多个(可能是不同种类的)分散的、自治的处理资源,要想把它们组织成一个整体,最有效地完成一个共同的任务,做到这一点比起传统的集中式的单机系统要困难得多,需要解决很多新问题。
这些问题主要表现在哪些方面?参考答案:①资源的多重性带来的问题。
由于处理资源的多重性,分布计算系统可能产生的差错类型和次数都比集中式单机系统多。
最明显的一个例子是部分失效问题:系统中某一个处理资源出现故障而其他计算机尚不知道,但单机系统任何一部分出现故障时将停止整个计算。
另一个例子是多副本信息一致性问题。
可见,资源多重性使得差错处理和恢复问题变得很复杂。
资源多重性还给系统资源管理带来新的困难。
②资源的分散性带来的问题。
在分布计算系统中,系统资源在地理上是分散的。
由于进程之间的通信采用的是报文传递的方式进行的,通信将产生不可预测的、有时是巨大的延迟,特别是在远程网络所组成的分布计算系统中更是这样。
例如使用卫星通信会产生270毫秒的延迟。
在分布计算系统中,系统的状态信息分布在各个分散的节点上。
分布式的状态信息和不可预知的报文延迟使得系统的控制和同步问题变得很复杂,要想及时地、完整地搜集到系统各方面的信息是很困难的,从而使处理机进行最佳调度相当困难。
③系统的异构性带来的问题。
在异构性分布计算系统中,由于各种不同资源(特别是计算机和网络)的数据表示和编码、控制方式等均不相同,这样一来就产生了翻译、命名、保护和共享等新问题。
由于上述原因,分布计算系统的研制,特别是软件的验证、调试、测量和维护问题变得很复杂。
这些正是分布计算系统研制者要解决的主要问题。
3、分布式计算系统具有透明性时,系统有什么主要优点?参考答案:系统具有透明性时有以下一些优点:①使软件的研制变得容易,因为访问资源的方法只有一种,软件的功能与其位置无关。
②系统的某些资源变动时不影响或较少影响应用软件。
③系统的资源冗余(硬件冗余和软件冗余)使操作更可靠,可用性更好。
透明性使得在实现这种冗余的时候,各种冗余资源的互相替换变得容易。
④在资源操作方面,当把一个操作从一个地方移到若干地方时没有什么影响。
4、简述基于中间件技术的分布式计算系统的组成结构。
参考答案:对于基于中间件的分布计算系统,它的组成结构可以用图1表示。
许多分布式应用程序直接使用网络操作系统提供的编程接口。
例如,应用程序的通信功能通过网络操作系统提供的socket机制来实现,使得不同机器上的进程之间能够相互传送报文。
另外,应用程序通过本地文件系统提供的接口使用文件。
这种直接利用网络操作系统提供的服务编制的应用程序很难具有很高的透明度。
为了解决这个问题,可以在应用程序和网络操作系统之间增加一个软件层次,提供一个更高的抽象层次。
这样的一个软件层次称为中间件,它位于应用程序和网络操作系统之间,如图1所示。
5、简述分布式程序设计和顺序程序设计的基本区别。
参考答案:分布式程序设计和顺序程序设计的三个基本区别是:使用多个处理机、处理机合作和存在着部分失效。
①使用多个处理机。
分布式程序在不同的处理机上并行执行其代码的不同部分。
高性能应用程序使用这种并行性达到加速执行的目的,它的目标在于如何最佳地使用可以得到的处理机,考虑哪些计算需要并行计算是非常重要的。
在容错应用程序中,不同处理机执行的功能要根据增加可靠性和可用性来决定。
对于专用功能和固有的分布式应用程序,功能可在一个给定的处理机上执行,因为这个处理机具有某种能力或者包含有服务所需的数据。
总而言之,对分布式程序设计支持的第一个要求就是系统应该具有把一个程序的不同部分分配到不同处理机上执行的能力。
②处理机合作。
分布计算系统的各个进程在执行分布式应用程序时需要合作。
运行并行的应用程序时,各个进程有时需要交换中间结果,对它们的活动要进行同步。
例如,在控制自动工厂的系统中,各处理机要相互监视,检测出失效的处理机。
分布式操作系统的各服务程序需要相互支持,例如进程服务可能需要文件服务的帮助以获得进程的二进制映像文件。
在分布式电子邮件中,必须在各个进程之间转发报文。
上述各个例子中,各个进程必须能相互通信和同步,这是对分布式程序设计支持的第二个要求。
③处理部分失效。
在单机系统中,如果CPU失效,所有的工作立即停止。
但在分布计算系统中一些CPU失效时,其他CPU照样工作。
可利用这个性质编写一个能对硬件失效容错的程序。
这对于容错应用程序特别重要,其他应用程序也需要。
例如对于能用于比赛的分布式下棋程序来说,能对处理机失效容错是非常有用的。
所以对分布式程序设计支持的第三个要求是能对系统的部分失效进行检测并恢复。
6、分布式计算系统故障的基本处理方法主要有哪些?参考答案:故障的基本处理方法有三种,它们是:①主动复制。
所有的复制模块协同进行,并且它们的状态紧密同步。
②被动复制。
只有一个模块处于动态,其他模块的交互状态由这一模块的检查点定期更新。
③半主动复制。
是主动复制和被动复制的混合方法。
此种方法所需的恢复开销相对较低。
容错是建立在冗余的基础上的,冗余是设置超过正常系统操作所需要的信息、资源或时间。
冗余的类型取决于故障的处理方法和故障的特性。
对于永久性的故障,常用硬件冗余的方法来屏蔽;而对于暂时性的故障,常通过时间冗余的方法进行重试。
当使用主动复制的方法时,通常使用N-模块化冗余(NMR)。
在被动复制中可以使用向前式恢复和向后式恢复。
7、说明分布式计算系统处理死锁常见策略。
参考答案:有多种策略用于处理死锁,其中最常见的策略有:①预防死锁。
通过限制请求,保证四个死锁条件中至少有一个不能发生,从而预防死锁。
(1)进程在开始执行之前同时获得所有所需资源。
(2)所有的资源都要被赋予一个唯一的数字编号。
(3)每个进程被赋予一个唯一的优先级标识。
(4)使用时间戳的动态优先级预防死锁方案②避免死锁。
如果结果状态是安全的,就将资源动态地分配给进程。
如果至少有一个执行序列使所有的进程都能完成运行,那么这个状态就是安全的。
虽然死锁避免策略在集中式系统中广为应用,并且有许多算法,但是在分布式系统很少使用。
这是因为在分布式系统中没有全局时钟,检查安全性状态会涉及到大量进程和资源的计算,这些会引起昂贵的开销。
③检测死锁和从死锁中恢复。
允许死锁发生,然后发现并解除死锁。
(1)集中式死锁检测算法。
(2)分布式死锁检测算法(3)等级式死锁检测算法。
8、给出Lamport时间戳互斥算法的主要思想,报文传递数量参考答案:Lamport时间戳互斥算法由以下5条规则组成,为方便起见,认为每条规则定义的活动形成单个事件:①一个进程P i如果为了申请资源,它向其它各个进程发送具有时间戳T m:P i的申请资源的报文,并把此报文也放到自己的申请队列中;②一个进程P j如果收到具有时间戳T m:P i的申请资源的报文,它把此报文放到自己的申请队列中,并将向P i发送一个带有时间戳的承认报文。
如果P j正在临界区或正在发送自己的申请报文,则此承认报文要等到P j从临界区中退出之后或P j发送完自己的申请报文之后再发送,否则立即发送;③一个进程P i如果想释放资源,它先从自己的申请队列中删除对应的T m:P i申请报文,并向所有其他进程发送具有时间戳的P i释放资源的报文;④一个进程P j如果收到P i释放资源的报文,它从自己的申请队列中删除T m:P i申请报文;⑤当满足下述两个条件时,申请资源的进程P i获得资源:(a)P i的申请队列中有T m:P i申请报文,并且根据时间戳它排在所有其它进程发来的申请报文前面;(b)P i收到所有其它进程的承认报文,其上面的时间戳值大于T m。
使用Lamport时间戳互斥算法,进入一次临界区共需要3(n-1)个报文,n为参加互斥的进程数。
9、给出公开密钥加密技术实现数字签名的主要思想。
参考答案:使用公开密钥加密技术实现数字签名要求加密函数E和解密函数D满足下列条件:E(D(P))=P,当然同时还有D(E(P))=P也就是E和D可以互换。
现在,假定A向B发送一个签名报文P。
A的公开密钥为K eA,保密密钥为K dA。
B的公开密钥为K eB,保密密钥为K dB。
图2显示了使用公开密钥加密技术实现数字签名的过程。
图中D A(P)=D(K dA,P),E B(P)=E(K eB,P)。
A先对报文P进行签名,形成P的签名形式D A(P);然后对报文的签名形式进行加密,形成签名报文的加密形式E B(D A(P));B收到这个加过密的签名报文后,使用自己的保密密钥解密,得到报文的签名形式D A(P)=D B(E B(D A(P)));最后B对签名的报文进行验证并获得报文的明文形式P=E A(D A(P)),同时保留P的签名形式D A(P)。
B知道这个签名报文确实是从A那儿发送来的,因为只能用A的公开密钥K eA才能解密成功。
同时,A 不能否认,因为B保留有P的签名形式D A(P)。
图2 使用公开密钥实现数字签名10、多副本更新算法参考答案:有很多方法解决多副本数据库的相互一致性问题,它们在达到相互一致性的质量、性能、开销、坚定性以及所作的假设性条件等各方面有很大的不同。
分布式多副本数据库本身是一个分布式控制问题。
复制控制算法用来保证兼容可串行化,保持数据库多副本间的相互一致性。
复制控制算法分为两大类:表决法和非表决法。
表决法是在控制者之间交换报文,对分布式数据库要进行的各事务处理的整个次序达成一致意见。
非表决法使用控制优先权,一种方法是在各控制者之间建立主从关系。
表决法又分为同步和异步两大类。
在同步表决方案中,各控制者对一个给定事务处理进行表决,一旦取得一致意见就共同执行此事务处理的各步骤。
在异步表决方案中,允许各控制者和存储处理机并发地对不同事务处理的请求和执行进行表决。