辽宁大学分布式操作系统复习题共14页

上传人:仙*** 文档编号:106655187 上传时间:2022-06-13 格式:DOC 页数:14 大小:204.50KB
收藏 版权申诉 举报 下载
辽宁大学分布式操作系统复习题共14页_第1页
第1页 / 共14页
辽宁大学分布式操作系统复习题共14页_第2页
第2页 / 共14页
辽宁大学分布式操作系统复习题共14页_第3页
第3页 / 共14页
资源描述:

《辽宁大学分布式操作系统复习题共14页》由会员分享,可在线阅读,更多相关《辽宁大学分布式操作系统复习题共14页(14页珍藏版)》请在装配图网上搜索。

1、精选优质文档-倾情为你奉上2011 辽宁大学分布式操作系统复习题1. 说明分布式系统相对于集中式系统的优点和缺点。 从长远的角度看,推动分布式系统发展的主要动力是什么?答:相对于集中式系统,分布式系统的优点:1)从经济上,微处理机提供了比大型主机更好的性能价格比;2)从速度上,分布式系统总的计算能力比单个大型主机更强;3)从分布上,具有固定的分布性,一些应用涉及到空间上分散的机器;4)从可靠性上,具有极强的可靠性,如果一个极强崩溃,整个系统还可以继续运行;5)从前景上,分布式操作系统的计算能力可以逐渐有所增加。分布式系统的缺点:1)软件问题,目前分布式操作系统开发的软件太少;2)通信网络问题,

2、一旦一个系统依赖网络,那么网络的信息丢失或饱和将会抵消我们通过建立分布式系统所获得的大部分优势;3)安全问题,数据的易于共享也容易造成对保密数据的访问。推动分布式系统发展的主要动力:尽管分布式系统存在一些潜在的不足,但是从长远的角度看,推动分布式系统发展的主要动力是大量个人计算机的存在和人们共同工作于信息共享的需要,这种信息共享必须是以一种方便的形式进行。而不受地理或人员,数据以及机器的物理分布的影响2. 多处理机系统和多计算机系统有什么不同?答:共享存储器的计算机系统叫多处理机系统,不共享存储器的计算机系统为多计算机系统。它们之间的本质区别是在多处理机系统中,所有CPU共享统一的虚拟地址空间

3、,在多计算机系统中,每个计算机有它自己的存储器。多处理机系统分为基于总线的和基于交换的。基于总线的多处理机系统包含多个连接到一条公共总线的CPU以及一个存储器模块。基于交换的多处理机系统是把存储器划分为若干个模块,通过纵横式交换器将这些存储器模块连接到CPU上。多计算机系统分为基于总线的和基于交换的系统。在基于总线的多计算机系统中,每个CPU都与他自身的存储器直接相连,处理器通过快速以太网这样的共享多重访问网络彼此相连。在基于交换的多计算机系统中,处理器之间消息通过互联网进行路由,而不是想基于总线的系统中那样通过广播来发送。3. 在分布式操作系统中,为什么采用微内核技术,通常微内核提供哪些服务

4、?答:采用微内核技术的原因:1)高度模块化,每一个服务都有一个定义好的接口,每个用户都可以访问任何服务,服务与位置独立;2)高度灵活性,具有添加、删除和修改服务的功能;3)用户定制,用户可以自定义服务。微内核提供的服务有:1)进程间通信机制;2)某些内存管理功能;3)少量的底层进程管理和调度;4)低层输入/输出服务4. 解释透明性的含义,并举例说明不同类型的透明性。答:对于分布式系统而言,透明性是指它呈现给用户或应用程序时,就好像是一个单独是计算机系统。具体说来,就是隐藏了多个计算机的处理过程,资源的物理分布。具体类型:透明性描述存取透明性隐藏了数据表示和获取资源的具体实现位置透明性用户不必知

5、道资源位于何处迁移透明性资源可以不改名随意移动重定位透明性用户不必知道资源是位置是否改变复制透明性用户不必知道有多少拷贝存在并发透明性多个用户可以自动的共享资源容错透明性用户不必知道系统出现错误5. 应用哪些技术可以使得一个分布式系统具有可伸缩性?答:实现分布式可伸缩性,基本的三种技术为:1、减少通信延迟,即使用异步通信方式,使得发送方发送请求后不必阻塞以等待答复,而是处理其他本地任务。2、分层,即将一个组件分解为几个小层。一个好的例子是DNS域名系统,它将域名分为三层,均衡了系统负载。3、复制冗余,它能使得资源更容易就近获取,并且它能使资源分布于整个系统,均衡了负载。6. 什么是普适家庭系统

6、?说明其中存在的主要技术问题。答:普适系统,即将分布的各种小型的,蓄电的,移动的设备,以无线连接的方式整合在一起的系统。它无需人工进行管理,最好的情况是其自动配置,自己管理。家庭普适系统,即将各种家用电子设备(如电视,手机等)整合在一起的系统。其存在的主要技术问题包括:1、 实现完全的自我配置,自我管理存在困难。2、 个人空间的存储,安全问题。7. 举例说明三层客户/服务器体系结构。答:此三层分为:用户接口层(接收用户请求),处理层(核心逻辑处理),数据层(返回用户所需数据)。以一个Internet搜索引擎为例,用户使用键盘,鼠标输入想要检索的信息,经过用户接口层传递给处理层,生成查询语句,然

7、后到达数据层(即数据库)查询数据,再将查询结果返回给处理层,让它对结果进行排序,生成HTML页面,最后返回给用户接口层(即浏览器)显示给用户。8. 给出一个多线程客户端的例子,并给出一种构造多线程服务器的方法。答:多线程客户端例子,以网页浏览器为例:浏览器在从服务器获取HTML文件时,同时也在显示它。因为一个HTML文件可能包含文本,图像,音频,视频等文件,故当一个线程获得其中一个文件并显示它时,同时还有其它线程正从服务器读取其它文件。即一个浏览器拥有多个线程与服务器进行交互。构建多线程服务器:使用有限状态机模型,它使用非阻塞系统调用方法,可实现并行处理多个请求。对每一个接收或发送的消息都将其

8、处理状态存储到一个表中,由多线程对其进行处理。9. 在代码迁移时,需要迁移代码片断、资源片断和执行片断,说明在迁移资源片断时需要考虑的主要问题。答:迁移资源片段时,有时需要考虑改变资源片段的相关引用,以适应迁移后的使用,但是又不能改变该资源与其他进程之间的绑定关系。此外,有时还需考虑该资源片段与机器之间的绑定关系。例如有些资源片段迁移后可用,但是要花很大代价,有些则迁移后在其他机器上不可执行。10. 什么是有状态服务器和无状态服务器,给出相应的例子,并说明有状态服务器存在的问题。答:无状态服务器,在请求之间,服务器不保存具体客户的信息,以及与客户端交互活动的有关信息。它要求每个请求必须是独立的

9、,必须包含全文件名和文件中的偏移量,因此消息长度较长。有状态服务器,在请求之间,服务器保存客户信息以及与客户交互活动的有关信息,11. 说明在移动IP 系统中,如何定位一个实体。a) 名称与地址的直接映射b) 使用标识符的两极映射12. 在基于DHT的P2P系统中如何定位一个实体,并举例说明。答:DHT全称叫分布式哈希表(Distributed Hash Table),是一种分布式存储方法。每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整个DHT网络的寻址和存储。连入DHT网络的用户叫做节点(node),节点之间互相有路由记录,因此只要和任何一个已经在DHT网络中的节点连接上

10、,就可以寻找到更多的节点,从而连入网络。举例见书p189。.13. 在基于DHT的P2P系统中如何构造多播树,并举例说明影响性能的主要问题。14. 客户-服务器模式的主要思想及优点。答:其主要思想是构造一种操作系统,它由一组协同进程组成,这组进程称为服务进程,为客户机提供服务的进程称为客户。客户和服务器都运行在相同的微内核中,都以进程方式运行。一台机器可以运行多个客户、多个服务器或者两者的结合,客户-服务器模式常常以简单的请求/应答协议为基础,客户向服务器发送一个请求,请求一些服务,服务器完成后返回所要的数据或者给出一个错误代码,指出工作未完成。优点:1)简单,客户发出一个请求得到一个应答,在

11、使用之前无需建立连接也不需要释放连接;2)有效性,协议栈比较短因而更有效。15. 客户为了发送消息给服务器,它必须知道服务器的地址。试给出服务器进程编址的几种方法,并说明如何定位进程。答:方法一。机器号加进程号,内核使用机器号将消息正确地发送到适当的机器上,用进程号决定将消息发送给哪一个进程。方法二。进程选择随机地址,通过广播方式定位进程,进程在大范围的地址空间中随机指定自己的标识号。在支持广播式的LAN中,发送者广播一个特殊的定位包,其中包含目的进程地址,所有的内核查看地址是不是他们的,如果是则返回消息给出网络地址,然后发送内核缓存地址。方法三。客户机运行时,使用ASCII码访问服务。客户机

12、运行时,向名字服务器发送请求信息,名字服务器将ASCII服务器名映射成服务器地址,客户机收到给地址后,可以访问服务器。16. 对于接收消息Receive原语,为什么需要缓存, 缓存的作用是什么?答:如果不适用缓存,服务器接收来的消息会被丢弃或者存在诸如服务器需要存储和管理早到来的消息这样的问题。缓存的作用就是用来统一管理消息的:它定义了一种叫邮箱的数据结构,接收客户端请求的进程通知内核创建邮箱存储消息,并且指定了访问地址。当Receive原语调用是,系统内核就会提取消息并知道如何处理它。17.说明在C/S模式下解决消息可靠传输的三种方法? 答:1、重新定义非可靠的send语义。系统无法保证消息

13、发送成功,完成可靠地通信依赖于用户。2、要求接收机器的内核给发送机器的内核发送一个确认消息。只有收到这个确认消息后发送内核释放用户进程。确认消息从一个内核传送到另一个内核,无论是客户还是服务器都看不到确认消息。3、客户在发送消息后阻塞,服务器内核不发送确认消息而是将应答作为确认消息。因此客户进程一直阻塞到应答消息到来为止,如果时间太长,发送内核会重新发送请求以防止消息丢失。18.说明RPC的主要思想及RPC调用的主要步骤。(远程过程调用函数sum(4,7)为例说明)答:主要思想是允许程序去调用位于其他机器上的过程。当位于机器A的一个进程调用机器B上的某个过程时,机器A上的过程被挂起,被调用的过

14、程在机器B上执行。调用者讲消息放在参数表中传送给被调用者,结果作为过程的返回值返回给调用者。消息的传送与I/O操作对于编程人员是不可见的。主要步骤如下:1)客户过程以普通方式调用相应的客户存根;2)客户存根建立消息并激活内核陷阱;3)内核将消息发送到远程内核;4)远程内核将消息发送到服务器存根;5)服务器存根取出消息中的参数后调用服务器过程;6)服务器完成工作后将结果返回至服务器存根;7)服务器存根将它们打包并激活内核陷阱;8)远程内核将消息发送会客户内核;9)客户内核将消息提交给客户存根;10)客户存根从消息中取出结果返回给客户。19.在RPC调用时,如果服务器或客户机崩溃了,各有哪些解决方

15、法。答:如果是服务器崩溃了,用户无法区分服务器是在执行前还是执行后崩溃,解决方案如下:1)至少一次语义,指等待服务器重新启动,然后重发请求。这种方法要求不断重试直至客户收到应答消息。它保证RPC至少执行一次。2)之多一次语义,指立即放弃并报告失效。它确保RPC至多执行一次,但也可能根本没有执行;3)不作保证;4)精确一次语义;如果是客户机崩溃了,存在孤儿问题(客户已发送请求,在应答到来之前崩溃了,此时已经激活服务器中的过程并获得结果,但是没有客户在等待结果)解决方案如下:1)根除,在客户存根发送RPC消息前先做日志(用来恢复崩溃),系统重新启动后,检查日志,发现孤儿存在并将其杀死;2)再生,把

16、时间分成有序的纪元,当客户端重启时,向所有机器广播一个消息通知一个新纪元的到来,并结束所有的远程计算;3)温和再生,服务器接收到新纪元广播时,检查自己是否有远程计算,只有那些找不到所有者的远程计算终止。4)过期,每个RPC都分配一个标准时间T来完成任务,如果超时没有完成则显示分配一个数额。20.一个影响RPC执行时间的问题是消息的拷贝问题,试说明在那些环节需要拷贝,并说明减少拷贝次数的方法。答:需要消息拷贝的环节:在发送端,消息从客户存根拷贝到客户内核缓冲区,再从客户内核缓冲区拷到客户接口芯片缓冲区(网卡),然后消息被拷贝到接收端的服务器接口芯片缓冲区,之后拷贝到服务器内核缓冲区,最后到达服务

17、器存根(共5次)拷贝。此外,有时还需要拷贝参数数组。减少拷贝次数的方法:分散-集中方法(汇集发),具有分散-集中能力的网络芯片可以减少拷贝次数,他通过拼接2个或者多个内存缓冲区来组装报文。在发送端,由客户内核缓冲区生成报文消息头。由客户存根生成报文消息体,当发送时,由网络芯片组装报文。同样地,接收端将接收来的报文分解成消息体和消息头,并放入相应的缓冲区。21.在组通信中,给出组编址的的三种方式。答:1、每组分配地址,有三种方式:单播,多播,广播,发送进程将消息发送给组地址,消息将会发布给所有成员2、要求发送端提供一份目的地址的显示列表;3、判定编址,消息将被发送给所有成员,每条消息包含了判定条

18、件,如果判定条件评估为TRUE,则消息被接受,否则消息丢弃。22.用组通信方式时,举例说明消息顺序的重要性,并说明解决方法说明。答:要使组通信易于理解和使用,有两种性质是不可缺少的,首先是原子广播原语,它确保了一条消息要么被所有组内成员收到,要么没有一个成员能收到。其次是消息的顺序。例如:有四台机器每台机器有一个进程,进程1、2、3、4属于同一个进程组,进程0与进程4同时想给该组发送一条消息,当两个进程竞相访问LAN时,在网络中消息传送的顺序是无法确定的,可能是0-1, 4-0,4-1,4-3,0-3,0-4。这样进程1先收到0再收到4,进程3先收到进程4在收到0,则1与3之间可能会出现不一致

19、。解决方法:1)全局时间顺序,保证立即发送所有消息并让他们保持发送顺序,该方法能将消息精确的按照发送顺序传递到目的地。2)一致时间顺序,若有两条消息A和B,以很少的时间间隔发送,系统先取其中一个作为第一个发送给所有组内成员,然后再取下一个发送给组内成员,这种方法保证组内成员按照统一的顺序收到了消息,但是这个顺序可能并不是发送消息的顺序。23.实现分布式系统同步的复杂性表现在哪几个方面?说明先发生关系,并说明在LAMPORT算法中怎样给事件分配时间。答:分布式算法有如下性质:1)相关信息分散在多台机器上;2)进程决策仅依赖于本地信息;3)系统中单点故障应避免;4)没有公用时钟和其他精确的全局时间

20、资源存在。前三点说明在一处收集所有信息并对他们进程处理是不可接受的,左后一点说明在分布式系统获得时间上的一致并不是容易的。LAMPORT算法的解决方案是直接使用先发生关系,每条消息都携带发送者的时钟以指出其发送的时间,当消息到达时,接受者的时钟比消息发送者时钟小,就立即将自己的时钟调到比发送者的时间大1或更多的值,我们给出一种测量时间的方法,使得对每一事件a,在所有进程中都认可给它一个时间值C(a),在给事件分配时间时要遵循一下规则:1)在同一进程中a发生在b之前则C(a)C(b);2)若a和b分别代表发送消息和接收消息,则C(a)N,只有在适当数目的服务器同意参与时,文件才能进行读写操作。4

21、6.说明基于总线的多处理机系统中的write-through和write once协议。答:通写缓存一致性协议是一种特别简单的,通用的协议。当CPU从存储器中首次读取某个字时,该字通过总线取出并存储在提出请求的CPU缓存中,当再次需要这个字时,CPU不再提出访问存储器的请求,而是直接从缓存中获取,这样减少了总线流量,通写缓存一致性协议概括如下:事件缓存响应本地CPU操作时执行缓存响应远程CPU操作时执行的动作读失败Read miss从存储器中取得数据并存储到缓存中无动作读命中Read hit从本地缓存中取得数据无动作写失败 Write miss更新存储器中的数据并存储到缓存中无动作写命中 Wr

22、ite hit更新存储器和缓存使缓存无效表中的第一列列出了可能发生的四种基本事件,第二列说明缓存如何响应CPU的操作,第三列说明缓存发现(通过监听)其他CPU的读写操作如何反应。例如,当监听者发现其他CPU写入的字在其缓存中(从监听者角度看是命中)时,监听者必须采取措施,即从本缓存中删除这个字。通写协议易于理解和使用。缺点是所有的读写操作必须通过纵向,因此允许挂在单一总线上的CPU数量仍然很少,不能满足大型多处理机的需求。write-once协议:该协议管理缓存块,每个块处于一下三种状态之一:1)无效,本缓存块没有有效数据;2)干净,存储器被更新,该块可能在别的缓存中;3)脏,存储器错误,该数

23、据块不在其他缓存中。基本思想是允许正被多个CPU读取的字出现在它们所有的缓存中,而仅被一个CPU经常写的字只保存在他的缓存中,为减少总线流量,不必每次都写回存储器。47.说明顺序一致性应满足的要求;在如下并行执行的进程P1和P2,列出顺序一致性所允许的6种语句交叉执行情况。a=1; b=1;if (b= =0) kill (P2) if(a= =0) kill (P1)(a) P1 (b) P2答:顺序一致性模型由下述条件定义:1)如果所有进程以一定顺序执行操作,每一进程的操作都以程序规定的顺序出现,则任何操作的结果都是一样的;2)要求分布式系统中的所有成员和它们的进程共享一个通用视图,此视图

24、记录了对于共享能存访问操作的顺序。顺序一致性所允许的6种语句交叉执行情况:a = 1;b = 1;if(b = 0) kill(P2)if(a = 0) kill(P1)b = 1;a = 1;if(b = 0) kill(P2)if(a = 0) kill(P1)a = 1;b = 1;if(a = 0) kill(P1)if(b = 0) kill(P2)b = 1;a = 1;if(a = 0) kill(P1)if(b = 0) kill(P2)a = 1;if(b = 0) kill(P2)b = 1;if(a = 0) kill(P1)b = 1;if(a = 0) kill(P1

25、)a = 1;if(b = 0) kill(P2)48.举例说明什么是错误共享及其产生的原因。假设两个变量a和b,恰好位于基于分页的DSM系统的同一页上。然而,它们都不是共享变量。是否会发生错误共享?说明理由。答:错误共享是指无关的变量出现在同一页上,当一进程使用它们之一时,进程也得到了其他变量。有效页越大,发生错误共享的可能性越大。假设有一页包含了两个无关的共享变量A和B,如下图所示,进程1经常对A执行读写操作,进程2经常使用B,这时包含两个变量的页将经常在两个进程之间传送。“错误共享”问题是由于有效页太大产生的,有效页越大,发生错误共享的可能性越大,共享页越小,发生错误共享的可能性越小。图

26、中所示的情况会发生错误共享,因为两个变量A和B恰好位于基于分页的DSM系统的同一页上,即使不是共享变量,由于他们出现在同一页上,当一进程使用它们之一时,进程也得到了另一个变量,因此发生错误共享。包含两个无关变量的错误共享处理器1使用A的代码处理器2AB共享页使用B的代码AB两个无关的共享变量49.说明基于分页的分布式共享存储器置无效协议中如何读写存储器的一页。答:在这个协议中,任意时间每一页或者在R状态(可读),或者在W状态(可读可写),在执行程序时,页的状态可以改变,当页处于W状态时,只有一个拷贝,当页处于R状态时,拥有者有一个拷贝,其他进程可能有其拷贝。每一页有一个拥有者,即最近在该页上写

27、入的进程。图(a)给出了处理机1上的进程P要读一页的六种情况。在前四种情况中,P仅做读操作,页被映射到他们的地址空间,所以读操作由硬件完成,不会激活陷阱程序。第五六种情况,发生缺页错误,DSM的软件获得控制权,发送消息给拥有者以获得一份拷贝。当拷贝传到时,页被映射,出错的指令继续执行,如果拥有者处于W状态,必须将之降级为R状态。图(b)给出了处理机1上的进程P要写一页的六种情况,第一种情况,因为页映射为只读模式吗,所以写操作只是发生了,而不激活陷阱程序;第二种情况,也被改为W状态,并写入;第三种情况,该页有其他拷贝,所以在写以前,必须先置无效这些拷贝。在后三种情况中,当P要执行写操作时,其他进

28、程是拥有者,P必须要求现在的拥有者将其置无效,将拥有权传给P,除非P已经有了一个拷贝,将该页的一个拷贝也传给P。只有这样写操作才能开始。在这三例中,P最后拥有该页的唯一拷贝,其状态为W。在所有的六例中,在写操作执行以前,协议保证要写得进程的地址空间中只有页的一个拷贝存在,这样可以保证一致性。50.在基于分页的DSM系统中,复制页更新时需要通过置无效协议以实现一致性,试给出一种寻找复制页拷贝的方法。答:广播的方式,要求拥有者对申请消息进行响应,从而确定所需拷贝页的拥有者。使用拥有者定位协议,在系统中指定一个进程为页管理者,来跟踪哪个进程有哪些页,在具体实现时有四消息和三消息两种方法。四消息方法,申请者向页管理者提交请求,页管理者返回消息指出拥有者是谁。申请者在向拥有者发送请求,拥有者返回所需的页的拷贝或者拥有权。同时也管理者根据新的信息将相应的进程中的页置为无效页。三消息方法,申请者向页管理者提交申请后,页管理者将请求消息转发给响应的拥有者,由拥有者对申请者直接给出所需页的拷贝或者拥有权。消息传送完成后,页管理者对页的拥有者做出改变,同时设置无效页。专心-专注-专业

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!