高级操作系统解析.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
名词解释: 分布式系统: 一个分布式系统是若干个具有自治功能的独立计算机的集合,但是对该系统的用户来说,感觉该系统就像一台计算机一样。硬件方面:每台计算机都是独立、自主的计算机;软件方面:用户感觉在独占系统。分布式系统物理上是分布的,逻辑上是一个整体。 分布透明性: 分布透明性是一种现象,通过这种现象,系统中分布式的各个方面在用户与应用之间隐藏了起来,即分布式系统在用户和应用程序面前呈现为单个计算机系统。包括:访问透明、位置透明、移植透明、重定位透明、复制透明、并发透明、故障透明和持久性透明。 多线程文件服务器远程对象调用 一致性协议中,复制的写协议有哪几种?请简单解释? 答:复制的写协议:写操作可以在多个副本上执行。包括两种类型:主动复制和基于法定数量的协议。 主动复制:每个副本有一个关联的进程,该进程执行更新操作。操作被发送到每个副本。 基于法定数量的协议,其基本思想是:在读或写一个复制的数据项之前要求申请并获得多个服务器的允许。 试描述客户和服务器之间使用套接字的面向连接的通信是如何进行的? 答:为了实现服务器与客户机的通信,服务器和客户机都必须建立套接字。服务器与客户机的工作原理可以用下面的过程来描述。 (1)服务器先用socket函数来建立一个套接字,用这个套接字完成通信的监听。 (2)用bind函数来绑定一个端口号和IP地址。因为本地计算机可能有多个网址和IP,每一个IP和端口有多个端口。需要指定一个IP和端口进行监听。 (3)服务器调用listen函数,使服务器的这个端口和IP处于监听状态,等待客户机的连接。 (4)客户机用socket函数建立一个套接字,设定远程IP和端口。 (5)客户机调用connect函数连接远程计算机指定的端口。 (6)服务器用accept函数来接受远程计算机的连接,建立起与客户机之间的通信。 (7)建立连接以后,客户机用write函数向socket中写入数据。也可以用read函数读取服务器发送来的数据。 (8)服务器用read函数读取客户机发送来的数据,也可以用write函数来发送数据。 (9)完成通信以后,用close函数关闭socket连接。 客户机与服务器建立面向连接的套接字进行通信,请求与响应过程可用图来表示。 文件更新有哪几种主要算法?简述其算法思想? 答:文件更新有主拷贝复制和表决(Voting)算法两种主要算法。 主拷贝复制算法:指定一个服务器为主服务器,其它服务器为从服务器;当要更新一个复制文件,将该更新文件送至主服务器;在主服务器处完成修改,然后向各从服务器发命令,完成修改;容错方法:将日志写在稳定存储器。 表决(Voting)算法:基本思想:在读或写一个复制文件之前要求申请并获得多个服务器的允许,并将新的版本号与文件联系起来,用以识别文件版本; 读法定数(read quorum)Nr:读文件操作前必须达到的服务器数; 写法定数(write quorum)Nw:更新文件前必须达到的服务器数; Nr与Nw遵循的规则:Nw>N/2(服务器总数的一半),Nr+Nw>N。 基于物理时钟的同步算法有哪几种?简述他们的算法实现过程。 答:主要有三种:Cristian算法、Berkeley算法、Averaging算法。 Cristian算法: ? 有一个时间服务器,提供标准时钟,其它系统通过询问与它同步。 ? 在δ/2ρ秒的周期内,每个机器向服务器发出校时请求,服务器用CUTC进行响应,各机器根据响应值重置自己的时钟。 ? 由于时钟是不可回卷的,对于当前时钟值已经大于CUTC的机器必须动态调整自己时钟的H值,减慢时钟推进的速率,逐渐地消化与标准时钟之间的差距。 ? 由于请求与响应的传输与处理会产生延迟,进而影响时钟的精度。因此要求询问者要统计它与服务器之间的RTT,并利用它对得到的时间响应值进行修正。 Berkeley算法: ? 时间服务器(time daemon)没有标准时钟,它通过定期地询问各个机器的当前时间并从中求出平均值作为当前的标准时间,然后再广播给各个机器。当前时钟慢于新标准时间的机器重置自己的时钟;当前时钟快于新标准时间的机器要调整自己的H值,以消化这个时间误差。时间服务器的时钟由系统管理员手工校正。 Averaging算法: ? 定义一个固定的同步间隔R,每经过R时刻,所有的机器广播自己的当前时钟。在经过规定的接收间隔S之后,所有的机器根据接收到的时钟值计算自己的当前时钟值。 – 由于大家都不考虑传输延迟,所以实际得到的时钟值是滞后的,即在R+t的时刻得到R时刻的时钟值,并将其作为自己R+t时刻的时钟值。 ? 时钟值计算的最简单方法是求平均值。如果要求更精确,则可以去掉m个最大值和n个最小值之后再计算平均值,这可以过滤掉一些病态

文档评论(0)

shaoye348 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档