欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    现代操作系统专题8.pdf

    • 资源ID:74640738       资源大小:96.18KB        全文页数:17页
    • 资源格式: PDF        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    现代操作系统专题8.pdf

    1现代操作系统专题之八分布式处理现代操作系统专题之八分布式处理电子科技大学计算机学院罗 蕾电子科技大学计算机学院罗 蕾分布式数据处理的优势分布式数据处理的优势?响应性(Responsiveness):从管理方式看,相对于集中化的设施要同时满足整个组织的需要而言,局部计算机能够更加直接地、有效地满足局部机构的需要响应性(Responsiveness):从管理方式看,相对于集中化的设施要同时满足整个组织的需要而言,局部计算机能够更加直接地、有效地满足局部机构的需要?可用性(Availability):对于多个互联的系统,任何一个系统的丢失可以做到只具有很小的影响。关键系统和部分可以进行备份,这样,备份系统可以在故障后继续工作可用性(Availability):对于多个互联的系统,任何一个系统的丢失可以做到只具有很小的影响。关键系统和部分可以进行备份,这样,备份系统可以在故障后继续工作?资源共享(Resource sharing):昂贵的硬件设备可以在用户之间共享;数据文件可由中心来管理和维护,但在组织范围内都能访问资源共享(Resource sharing):昂贵的硬件设备可以在用户之间共享;数据文件可由中心来管理和维护,但在组织范围内都能访问分布式数据处理的优势分布式数据处理的优势?增量式成长(Incremental growth):可逐步地替换应用程序或系统,避免或者全有或全无的方法增量式成长(Incremental growth):可逐步地替换应用程序或系统,避免或者全有或全无的方法?增加用户的介入和控制(Increased user involvement and control):随着更小、更易管理的设备在物理位置上位于用户的身边,用户有更大的机会来影响系统的设计和操作,或与技术人员进行直接的交互,或通过用户的直接上级增加用户的介入和控制(Increased user involvement and control):随着更小、更易管理的设备在物理位置上位于用户的身边,用户有更大的机会来影响系统的设计和操作,或与技术人员进行直接的交互,或通过用户的直接上级?终端用户的生产率(End-user productivity)给予用户更好的快速响应终端用户的生产率(End-user productivity)给予用户更好的快速响应分布式处理分布式处理?OS中分布式处理:OS中分布式处理:通信体系结构(通信体系结构(Communication architecture)Communication architecture):已成熟,商用:已成熟,商用网络操作系统(Network operating system):已成熟,商用网络操作系统(Network operating system):已成熟,商用分布式操作系统分布式操作系统(Distributed operating system):(Distributed operating system):研究和开发的前沿,处于实验阶段研究和开发的前沿,处于实验阶段通信体系结构通信体系结构是独立计算机的联网软件,它能支持分布式应用,如:电子邮件、文件传输及远程终端访问等是独立计算机的联网软件,它能支持分布式应用,如:电子邮件、文件传输及远程终端访问等必须显式地引用才能与其他计算机进行通信必须显式地引用才能与其他计算机进行通信每台计算机具有独立的OS,要求所有计算机支持同样的通信体系,如TCP/IP每台计算机具有独立的OS,要求所有计算机支持同样的通信体系,如TCP/IP网络操作系统网络操作系统 典型的网络操作系统是一个通过局域网连接的微型计算机网络典型的网络操作系统是一个通过局域网连接的微型计算机网络 网络中的计算机通常是单用户工作站或一台/多台服务器,服务器提供本网范围的服务或应用网络中的计算机通常是单用户工作站或一台/多台服务器,服务器提供本网范围的服务或应用 每个用户有自己的微机工作站,可能有硬盘,也可能没有,但必定有自己的操作系统,可以一样也可以不一样。每个用户有自己的微机工作站,可能有硬盘,也可能没有,但必定有自己的操作系统,可以一样也可以不一样。NOS只是本地OS的一个附属物,它使应用程序所在机器与服务器之间能够交互NOS只是本地OS的一个附属物,它使应用程序所在机器与服务器之间能够交互2网络操作系统网络操作系统 操作系统管理单个的工作站、文件服务器、还要关心它们之间的通信操作系统管理单个的工作站、文件服务器、还要关心它们之间的通信 每台机器都有高度的自治权,除了网络通信之外,没有多少对整个系统范围的要求每台机器都有高度的自治权,除了网络通信之外,没有多少对整个系统范围的要求 用户知道多台独立的计算机并显式地和它们打交道,用户依据权限,使用整个网络中的各项资源用户知道多台独立的计算机并显式地和它们打交道,用户依据权限,使用整个网络中的各项资源 一般使用一个公用通信体系结构来支持这些网络应用一般使用一个公用通信体系结构来支持这些网络应用分布式处理分布式处理?典型的网络操作系统典型的网络操作系统?Windows2000Windows2000?NetWareNetWare?各种Unix系统各种Unix系统分布式操作系统分布式操作系统分布式操作系统的思想,是让用户不关心系统中多CPU的存在。目前尚不存在真正的符合条件的系统,但有原型机出现分布式的特征:分布式操作系统的思想,是让用户不关心系统中多CPU的存在。目前尚不存在真正的符合条件的系统,但有原型机出现分布式的特征:进程管理应该处处一致。当一个进程开始时,所有内核将协调工作,以便找到运行该进程的最佳位置进程管理应该处处一致。当一个进程开始时,所有内核将协调工作,以便找到运行该进程的最佳位置 在所有机器上有单一的系统调用集合,这些调用还必须适合分布式的环境。既然在所有地方系统调用都一样,那么在所有CPU上运行同样的内核也就是自然的结果了在所有机器上有单一的系统调用集合,这些调用还必须适合分布式的环境。既然在所有地方系统调用都一样,那么在所有CPU上运行同样的内核也就是自然的结果了分布式操作系统分布式操作系统 本地通信与远程通信有相同的机制本地通信与远程通信有相同的机制 有全局的保护机制有全局的保护机制 需要一个全局的文件系统需要一个全局的文件系统 当然,每个内核对本地的资源还是有较大的控制权例如,既然没有共享内存,那么让各个内核管理自己的内存是很自然的事当然,每个内核对本地的资源还是有较大的控制权例如,既然没有共享内存,那么让各个内核管理自己的内存是很自然的事 需要页面交换时,本地的内核是决定怎样做的最佳人选。没有必要全局化需要页面交换时,本地的内核是决定怎样做的最佳人选。没有必要全局化分布式操作系统的特征透明性(1)?怎样让人相信在所谓的分布式系统中这样一群机器和一台普通的单处理机系统会一样呢?能达到这样目标的系统被称为是透明的透明性(2)透明性有两种层次含义一种含义是对用户隐藏了分布性例如,当一个UNIX用户敲入make时,从终端发出命令,再将结果显示到终端上,分布式系统可以跟单处理机系统的表现完全一样。唯一不寻常的事情是,系统的性能似乎快了很多。用户不知道诸如编译一类的工作是在多台机器上执行的3透明性(3)系统对程序透明是透明性含义的更低一个层次。也就是说从系统调用的接口看不出有多个处理器存在系统对程序透明是透明性含义的更低一个层次。也就是说从系统调用的接口看不出有多个处理器存在如果在一个系统中,访问远程文件是通过显式地建立一条与远程服务器的连接,再将消息发送给它,那么这样的系统显然不是透明的如果在一个系统中,访问远程文件是通过显式地建立一条与远程服务器的连接,再将消息发送给它,那么这样的系统显然不是透明的透明性(4)透明性的各种含义透明性的各种含义在一个真正的分布式系统中,用户不清楚在一个真正的分布式系统中,用户不清楚CPU,打印机,文件,数据库等等资源到底在哪里,打印机,文件,数据库等等资源到底在哪里,位置透明性位置透明性如果资源可以自由地从一处迁移到另一处,无需改变它们的名字如果资源可以自由地从一处迁移到另一处,无需改变它们的名字,这就是迁移透明性这就是迁移透明性透明性(5)如果操作系统可以任意复制文件和其它资源,形成多个拷贝,而用户却不用关心这点,那么系统是复制透明性的如果操作系统可以任意复制文件和其它资源,形成多个拷贝,而用户却不用关心这点,那么系统是复制透明性的如果用户注意不到其它用户的存在,那么系统是并发透明的如果用户注意不到其它用户的存在,那么系统是并发透明的在用户眼里分布式系统应该象一台传统的、单处理器系统在用户眼里分布式系统应该象一台传统的、单处理器系统透明性(6)如果一个程序员知道某个分布式系统中有如果一个程序员知道某个分布式系统中有10,000个个CPU,并且想利用其中的一部分,并且想利用其中的一部分CPU运行象棋程序,系统该怎么办?运行象棋程序,系统该怎么办?理论上的答案是,操作系统及其它系统软件如编译器、运行系统应该能知道怎样利用程序中潜在的并行性,程序员不需要知道这点。这是最困难的一种透明性,并行透明性理论上的答案是,操作系统及其它系统软件如编译器、运行系统应该能知道怎样利用程序中潜在的并行性,程序员不需要知道这点。这是最困难的一种透明性,并行透明性目前还没有人能做到这点。如果能实现并行透明性,那么有关分布式系统的研究将进入新的层次目前还没有人能做到这点。如果能实现并行透明性,那么有关分布式系统的研究将进入新的层次灵活性(1)设计第二个关键性问题是灵活性设计第二个关键性问题是灵活性涉及到灵活性的关键,分布式系统的结构设计涉及到灵活性的关键,分布式系统的结构设计灵活性(2)对于分布式系统的结构有两种不同的观点对于分布式系统的结构有两种不同的观点认为每台机器上应该运行一个传统的内核,自身提供大部分的服务认为每台机器上应该运行一个传统的内核,自身提供大部分的服务,这种方式称为单内核这种方式称为单内核认为每台机器上的内核应该提供尽可能少的服务,大部分操作系统的服务应该通过用户级的服务器来实现认为每台机器上的内核应该提供尽可能少的服务,大部分操作系统的服务应该通过用户级的服务器来实现,这种方式称为微内核这种方式称为微内核4灵活性(3)通常在集中式操作系统加上网络设施,再集成上远程服务就构成了单内核。通常在集中式操作系统加上网络设施,再集成上远程服务就构成了单内核。系统调用是传统的,即通过执行陷井指令,转入到核心状态,由内核完成,结果再返回给用户进程系统调用是传统的,即通过执行陷井指令,转入到核心状态,由内核完成,结果再返回给用户进程灵活性(4)在这种分布式系统中,大部分机器都有硬盘,并有本地的文件系统。许多通过在这种分布式系统中,大部分机器都有硬盘,并有本地的文件系统。许多通过UNIX扩展或仿真的分布式系统都使用这种方法扩展或仿真的分布式系统都使用这种方法灵活性(5)?新设计的分布式系统一般使用了微内核设计方法新设计的分布式系统一般使用了微内核设计方法微内核通常只提供如下微内核通常只提供如下4种服务:种服务:进程间通信机制进程间通信机制内存管理内存管理少量的低级进程管理和调度少量的低级进程管理和调度底层的输入底层的输入/输出输出灵活性(6)一般认为,微内核更加灵活,因为它只做非做不可的事情一般认为,微内核更加灵活,因为它只做非做不可的事情它不提供文件系统、目录系统、大部的进程管理和多数系统调用。它仅仅提供那些在别处无法提供或者开销很大的服务它不提供文件系统、目录系统、大部的进程管理和多数系统调用。它仅仅提供那些在别处无法提供或者开销很大的服务设计的总体目标是微内核应尽可能地小设计的总体目标是微内核应尽可能地小灵活性(7)在由微内核实现的系统中,其它的系统服务都通过用户级的服务器实现每个服务都有一个的接口;每个客户都能访问到各项服务,而与位置无关在由微内核实现的系统中,其它的系统服务都通过用户级的服务器实现每个服务都有一个的接口;每个客户都能访问到各项服务,而与位置无关灵活性(8)微内核好处是高度模块化微内核好处是高度模块化,也比较容易实现安装和调试新的服务,因为添加或更改服务不要求停止现有的系统也比较容易实现安装和调试新的服务,因为添加或更改服务不要求停止现有的系统微内核具有更强的灵活性。任何需要特定系统服务的用户还可以编写自己定义的服务微内核具有更强的灵活性。任何需要特定系统服务的用户还可以编写自己定义的服务5灵活性(9)图(a)单内核的系统(b)微内核实现的系统可靠性(1)理论上理论上,在分布式系统中在分布式系统中,当某个机器停止工作时,其它机器能接替它的工作所以分布式系统比单处理机系统更加可靠当某个机器停止工作时,其它机器能接替它的工作所以分布式系统比单处理机系统更加可靠可靠性(2)实际上,运行的分布式系统往往依赖于能同时正常工作的多个服务器系统的可靠性更取决于各个主要部件可靠性的布尔实际上,运行的分布式系统往往依赖于能同时正常工作的多个服务器系统的可靠性更取决于各个主要部件可靠性的布尔“与与”,而不是布尔,而不是布尔“或或”可靠性(3)可靠性有不同的含义可靠性有不同的含义可用性可用性(availability)指的是系统可以正常工作的时间比例。高可靠性必须有很高的可用性。指的是系统可以正常工作的时间比例。高可靠性必须有很高的可用性。一般而言,系统中文件拷贝的数目越多,可用性会越好,但文件之间不一致的概率也越高,这是一种矛盾一般而言,系统中文件拷贝的数目越多,可用性会越好,但文件之间不一致的概率也越高,这是一种矛盾可靠性(4)容错性与可靠性也有关联容错性与可靠性也有关联一台服务器的崩溃会让整个系统都不能正常工作吗?一台服务器的崩溃会让整个系统都不能正常工作吗?一般而言,在分布式系统中用户注意不到一两台服务器崩溃的事实,能察觉的顶多是性能上慢下来而已一般而言,在分布式系统中用户注意不到一两台服务器崩溃的事实,能察觉的顶多是性能上慢下来而已可靠性(5)可靠性的另一层面是安全性可靠性的另一层面是安全性?在分布式系统中,不能简单的相信消息中的名字或身份,因为发送过程中可能有欺骗在分布式系统中,不能简单的相信消息中的名字或身份,因为发送过程中可能有欺骗6性能(1)一个分布式系统速度慢得出奇,那么它的透明、灵活和可靠的特性又有什么意义呢?一个分布式系统速度慢得出奇,那么它的透明、灵活和可靠的特性又有什么意义呢?响应时间是评价的标准之一,系统利用率,吞吐率(每小时完成的作业数),以及网络资源利用率也是评价的标准响应时间是评价的标准之一,系统利用率,吞吐率(每小时完成的作业数),以及网络资源利用率也是评价的标准当然,基准程序的测试结果是与基准程序本身的性质密切相关的当然,基准程序的测试结果是与基准程序本身的性质密切相关的性能(2)在分布式系统中,性能受通信的影响极大在分布式系统中,性能受通信的影响极大有时发一条消息并得到响应就要花有时发一条消息并得到响应就要花1个毫秒。有关的绝大部分时间花在了必需的协议处理上,而不是电缆本身传播上个毫秒。有关的绝大部分时间花在了必需的协议处理上,而不是电缆本身传播上但为了提高性能,就要求发送很多消息。在通信上时间开销就大,这又是一个矛盾但为了提高性能,就要求发送很多消息。在通信上时间开销就大,这又是一个矛盾性能(3)可扩展性可扩展性在现有规模上采用的方法技术对于将来大规模的系统还适用吗?在现有规模上采用的方法技术对于将来大规模的系统还适用吗?现有的多数分布式系统中顶多有上百个现有的多数分布式系统中顶多有上百个CPU但是今天适合但是今天适合200个个CPU系统的解决方案可能根本不适合未来有系统的解决方案可能根本不适合未来有2万个万个CPU的系统的系统分布式软件的关键概念分布式软件的关键概念?客户客户/服务器结构(服务器结构(client/server architecture)?消息传递消息传递(message passing)?远程过程调用远程过程调用(remote procedure calls)?集群体系结构集群体系结构(cluster architecture)客户客户/服务器计算服务器计算?客户客户/服务器计算模式的出现迅速取代了以主机为主导的集中式计算方法服务器计算模式的出现迅速取代了以主机为主导的集中式计算方法?客户客户/服务器环境三个基本要素:服务器环境三个基本要素:?客户:通常是单用户客户:通常是单用户PC或工作站,为端用户提供非常友好的界面或工作站,为端用户提供非常友好的界面?服务器:为客户提供一组共享的用户服务程序服务器:为客户提供一组共享的用户服务程序?网络:客户和服务器通过局域网、广域网或网络:客户和服务器通过局域网、广域网或Internet连接在一起连接在一起客户客户/服务器计算服务器计算?基于简单的、无连接的基于简单的、无连接的“请求请求/应答应答”协议协议?客户发送一个请求消息给服务器,请求服务;客户发送一个请求消息给服务器,请求服务;?服务器完成后将结果返回给客户(数据或出错代码)服务器完成后将结果返回给客户(数据或出错代码)优点:简单、高效优点:简单、高效7客户客户/服务器体系结构服务器体系结构硬件平台硬件平台客户客户OS通信软件通信软件应用逻辑(客户部分)应用逻辑(客户部分)表示服务客户方工作站表示服务客户方工作站硬件平台硬件平台服务器服务器OS通信软件通信软件应用逻辑(服务器部分)服务器应用逻辑(服务器部分)服务器请求请求应答协议交互应答协议交互客户客户/服务器应用的分类服务器应用的分类?按照客户和服务器的分工,可将应用分为:按照客户和服务器的分工,可将应用分为:?基于主机的处理基于主机的处理?基于服务器的处理基于服务器的处理?基于客户的处理基于客户的处理?合作处理合作处理客户客户/服务器应用服务器应用-基于主机的处理客户基于主机的处理客户DBMS数据库逻辑数据库逻辑应用逻辑应用逻辑表示逻辑服务器表示逻辑服务器 用户接口通常是通过一台哑终端用户接口通常是通过一台哑终端/局限于终端仿真器的角色局限于终端仿真器的角色客户客户/服务器应用服务器应用-基于服务器的处理客户基于服务器的处理客户DBMS数据库逻辑数据库逻辑应用逻辑服务器应用逻辑服务器表示逻辑表示逻辑 瘦客户瘦客户客户客户/服务器应用服务器应用-基于客户的处理客户基于客户的处理客户DBMS数据库逻辑服务器数据库逻辑服务器表示逻辑表示逻辑数据库逻辑数据库逻辑应用逻辑应用逻辑 胖客户胖客户客户客户/服务器应用服务器应用-合作处理客户合作处理客户DBMS数据库逻辑服务器数据库逻辑服务器表示逻辑表示逻辑应用逻辑应用逻辑应用逻辑应用逻辑8三层客户三层客户/服务器结构服务器结构?近年来,一种三层结构日益普遍近年来,一种三层结构日益普遍?在这种结构中,应用软件分布在三种类型的机器上:在这种结构中,应用软件分布在三种类型的机器上:?用户机器:一般是瘦客户用户机器:一般是瘦客户?中间层服务器:位于用户客户和很多后端数据库服务器之间的连接器,能转换协议,如:从一种类型的中间层服务器:位于用户客户和很多后端数据库服务器之间的连接器,能转换协议,如:从一种类型的DBMS映像为另一种映像为另一种?后端服务器后端服务器三层客户三层客户/服务器结构服务器结构客户客户中间层服务器(应用程序服务器)后端服务器(数据服务器)中间层服务器(应用程序服务器)后端服务器(数据服务器)客户客户/服务器结构服务器结构?C/S模型设计上的四个问题:模型设计上的四个问题:?寻址、阻塞、缓冲、可靠性寻址、阻塞、缓冲、可靠性寻址问题(1)客户为了能向服务器发消息,必须知道该服务器的地址包括:客户为了能向服务器发消息,必须知道该服务器的地址包括:?机器.进程寻址机器.进程寻址?广播进程寻址广播进程寻址?名字服务器寻址名字服务器寻址内核内核客户机客户机内核内核服务器服务器19912243012在在C/S模型下的机器进程寻址处理模型下的机器进程寻址处理1.发给发给243.0 的请求的请求2.给给199.12的回答的回答内核内核客户机客户机内核内核服务器服务器19912243034在在C/S模型下的广播寻址处理模型下的广播寻址处理1.广播广播:“X服务器在哪里服务器在哪里”2.服务器服务器:X地址在地址在243.01123.发给发给243.0 的请求的请求4.给给199.12的回答的回答9内核内核S243034在在C/S模型下基于名字服务器的寻址处理模型下基于名字服务器的寻址处理1.广播广播:“X服务器在哪里服务器在哪里”2.服务器服务器:X地址在地址在243.03.发给发给243.0 的请求的请求4.给给199.12的回答的回答内核内核C19912内核内核NS115012名字服务器名字服务器寻址问题(2)?机器进程寻址:不透明机器进程寻址:不透明?广播进程寻址:给系统带来额外负担(用广播进程寻址:给系统带来额外负担(用Caching解决)解决)?名字服务器寻址:需要中央控制机制(用名字服务器复制方法解决,带来不一致性问题)名字服务器寻址:需要中央控制机制(用名字服务器复制方法解决,带来不一致性问题)寻址问题(3)?特殊硬件解决途径:网卡存储本机各进程标识特殊硬件解决途径:网卡存储本机各进程标识?每帧经过时,网卡检查该帧的目标进程是否是本机上的进程。如果是,就接收该帧,否则,什么都不做每帧经过时,网卡检查该帧的目标进程是否是本机上的进程。如果是,就接收该帧,否则,什么都不做阻塞与非阻塞原语(同步原语与异步原语)?其主要区别在于:发送者是否能在重新获得控制后立即使用消息缓冲区其主要区别在于:发送者是否能在重新获得控制后立即使用消息缓冲区阻塞Send:消息在进程地址空间1消息放在缓冲区消息放在缓冲区2调用调用Send,进程阻塞,进程阻塞3消息从缓冲区传走消息从缓冲区传走4进程唤醒进程唤醒进程地址空间进程地址空间缓冲区缓冲区核心地址空间核心地址空间阻塞Send:消息在核心地址空间1消息放在缓冲区消息放在缓冲区2调用调用Send,进程阻塞,进程阻塞3消息拷贝到核心缓冲区,进程唤醒消息拷贝到核心缓冲区,进程唤醒4消息传走消息传走进程地址空间进程地址空间缓冲区缓冲区核心地址空间核心地址空间10无阻塞Send1消息放在缓冲区消息放在缓冲区2调用调用Send,进程继续执行,进程继续执行3消息传走消息传走4向进程发中断,表示可以重用缓冲区向进程发中断,表示可以重用缓冲区进程地址空间进程地址空间缓冲区缓冲区核心地址空间核心地址空间阻塞Receive:1调用调用Receive2如果有消息,则拷贝到进程地址空间如果有消息,则拷贝到进程地址空间3如果没有消息,进程阻塞,直到消息到达如果没有消息,进程阻塞,直到消息到达进程地址空间进程地址空间缓冲区缓冲区核心地址空间核心地址空间无阻塞Receive:1调用调用Receive2如果有消息,则拷贝到进程地址空间如果有消息,则拷贝到进程地址空间3如果没有消息,进程继续执行如果没有消息,进程继续执行4进程检查消息是否到达进程检查消息是否到达进程地址空间缓冲区进程地址空间缓冲区核心地址空间核心地址空间Send?阻塞且无消息拷贝?阻塞且有消息拷贝:额外消息拷贝,降低性能?无阻塞:快速,但程序感知,负担重Receive?阻塞:避免检查消息到达?无阻塞“时延”问题缓冲和非缓冲原语11内核内核客户机客户机内核内核无缓冲原语无缓冲原语在客户机发送前,服务器作接收在客户机发送前,服务器作接收服务器服务器缓冲原语缓冲原语消息发给信箱消息发给信箱,服务器从信箱接收服务器从信箱接收内核内核客户机客户机内核内核服务器服务器信箱信箱可靠和不可靠原语?不可靠Send?接收方发确认消息?应答消息作为确认消息内核内核客户机客户机内核内核服务器服务器1.请求请求2.回答回答不可靠原语不可靠原语请求或回答会丢失,恢复必须在请求或回答会丢失,恢复必须在C/S级进行级进行内核内核客户机客户机内核内核服务器服务器1.请求请求3.回答回答可靠原语可靠原语:对请求和回答的对请求和回答的ACK请求和回答是请求和回答是ACK的的:超时和重传用于恢复丢失的消息超时和重传用于恢复丢失的消息2.ACK4.ACK内核内核客户机客户机内核内核服务器服务器1.请求请求2.回答回答可靠原语可靠原语:ACK请求回答请求回答回答作为对请求的回答作为对请求的ACK3.ACK12总结:客户服务器模型的实现项目项目方案方案1方案方案2方案方案3阻塞阻塞阻塞原语阻塞原语寻址寻址机器代号机器代号稀少进程地址稀少进程地址带中断的非阻塞带中断的非阻塞不阻塞并复制到内核不阻塞并复制到内核通过服务器通过服务器ASCII名字查找名字查找可靠性可靠性缓冲缓冲无缓冲、丢弃未期待消息无缓冲、丢弃未期待消息不可靠不可靠无缓冲、暂时保存未期待消息无缓冲、暂时保存未期待消息请求请求回答回答确认确认请求请求确认确认回答确认回答确认邮箱邮箱中间件(中间件(Middleware)?为了获得客户为了获得客户/服务器方式的真正好处,开发者必须具有一组工具,为跨越所有平台访问系统资源提供唯一的方法和形式服务器方式的真正好处,开发者必须具有一组工具,为跨越所有平台访问系统资源提供唯一的方法和形式?使程序员能够构建这样的应用程序;在不同的使程序员能够构建这样的应用程序;在不同的PC机和工作站上所见所感相同,而且无论数据在什么位置都使用相同的方法来访问数据机和工作站上所见所感相同,而且无论数据在什么位置都使用相同的方法来访问数据?解决上述解决上述C/S设计的四个问题设计的四个问题?满足上述要求最普遍的方法是满足上述要求最普遍的方法是中间件中间件在客户在客户/服务器结构中中间件的作用客户工作站服务器结构中中间件的作用客户工作站硬件平台硬件平台服务器服务器OS服务器服务器表示服务表示服务中间件中间件应用逻辑应用逻辑通信软件通信软件客户客户OS硬件平台硬件平台通信软件通信软件应用服务应用服务中间件中间件中间件交互协议交互中间件交互协议交互远程过程调用远程过程调用RPC?将单机环境下的过程调用延伸到分布式系统环境将单机环境下的过程调用延伸到分布式系统环境?出自一篇博士论文出自一篇博士论文 B.J.Nelson?ISO将将RPC作为计算机网络、分布式计算机系统的国际标准化草案作为计算机网络、分布式计算机系统的国际标准化草案?一种信息交换的标准规程一种信息交换的标准规程单机环境下的过程调用远程过程调用(Remote Procedure Call)?指用户可以向调用本地过程一样调用不同地域的不同计算机上的过程指用户可以向调用本地过程一样调用不同地域的不同计算机上的过程?从而使得应用程序设计人员不必设计和开发有关发送和接收信息的实现细节从而使得应用程序设计人员不必设计和开发有关发送和接收信息的实现细节13远程过程调用(RPC)机器机器A机器机器BRead(f,&buff)进程挂起进程挂起过程执行过程执行远程过程调用(RPC)远程过程调用(RPC)对调用者透明:被调用过程是在远程机器上执行对调用者透明:被调用过程是在远程机器上执行 透明性是通过在客户端插入一个称为透明性是通过在客户端插入一个称为client stub,在服务器端插入一个称为,在服务器端插入一个称为server stub完成的完成的远程过程调用通信模型远程过程调用的结构RPC机制组成机制组成?Stub客户、服务器各一个客户、服务器各一个?binding使客户能定位到相应的服务器使客户能定位到相应的服务器?控制部分:为跟踪控制部分:为跟踪RPC的调用状态设置的调用状态设置?传送部分:确定如何将信息从一个节点传送到另一个节点传送部分:确定如何将信息从一个节点传送到另一个节点一个远程过程调用要进行下列步骤:一个远程过程调用要进行下列步骤:1.客户程序按照通常的调用方式,调用client stub2.client stub创建一个消息,并中断进入内核3.内核发送该消息给远端的内核4.远端内核将该消息传递给server stub5.server stub从消息中获得参数,并调用服务器程序1.客户程序按照通常的调用方式,调用client stub2.client stub创建一个消息,并中断进入内核3.内核发送该消息给远端的内核4.远端内核将该消息传递给server stub5.server stub从消息中获得参数,并调用服务器程序14一个远程过程调用要进行下列步骤:一个远程过程调用要进行下列步骤:6.服务程序完成工作,将结果返给server stub7.server stub将结果打包进一个消息,并中断进入内核8.远端内核将消息发送回客户方内核9.客户方内核将消息传递给client stub10.client stub取出结果,返回给客户程序6.服务程序完成工作,将结果返给server stub7.server stub将结果打包进一个消息,并中断进入内核8.远端内核将消息发送回客户方内核9.客户方内核将消息传递给client stub10.client stub取出结果,返回给客户程序远程过程调用通信模型远程过程调用实现所考虑的问题?Stub程序设计帮助用户程序设计帮助用户RPC的细节,使用户像调用本地过程那样调用远程过程的细节,使用户像调用本地过程那样调用远程过程?binding问题使客户能定位到相应的服务器问题使客户能定位到相应的服务器?可靠性问题:为跟踪可靠性问题:为跟踪RPC的调用状态设置的调用状态设置?参数传递问题:如何在不同机器之间正确有效地传递参数参数传递问题:如何在不同机器之间正确有效地传递参数集群集群?集群:一组互联的完整计算机,一起作为统一的计算资源,给人以一台机器的感觉集群:一组互联的完整计算机,一起作为统一的计算资源,给人以一台机器的感觉?集群优点:集群优点:?绝 对 的 可 伸 缩 性(绝 对 的 可 伸 缩 性(Absolute Scalability):一个集群可以具有数十台甚至数百台机器,每台机器都可以是多处理器):一个集群可以具有数十台甚至数百台机器,每台机器都可以是多处理器集群集群?集群优点:集群优点:?增 加 的 可 伸 缩 性(增 加 的 可 伸 缩 性(Incremental Scalability):当需求增加时可扩展系统):当需求增加时可扩展系统?高可用性(高可用性(High availability):某个节点的故障并不意味着服务的失败。在很多产品中能够自动地进行容错处理):某个节点的故障并不意味着服务的失败。在很多产品中能够自动地进行容错处理集群方法集群方法?被动等待(被动等待(Passive Standby)?较早方法,当主服务器出现故障时,由从服务器来接管较早方法,当主服务器出现故障时,由从服务器来接管?优点:易于实现优点:易于实现?缺点:代价高,因为从服务器只是备份缺点:代价高,因为从服务器只是备份15集群方法集群方法?分离服务器(分离服务器(Separate Servers)?各服务器具有独自的磁盘,数据可连续地从主服务器复制到从服务器各服务器具有独自的磁盘,数据可连续地从主服务器复制到从服务器?优点:高可用优点:高可用?缺点:在进行复制操作时具有较高的网络和服务器开销缺点:在进行复制操作时具有较高的网络和服务器开销集群方法集群方法?各 服 务 器 连 接 到 磁 盘(各 服 务 器 连 接 到 磁 盘(Servers Connected to Disks)?所有服务器都连接到同一磁盘,但每台服务器仍拥有自己卷,一旦某台服务器发生故障,其卷被其他服务器接管所有服务器都连接到同一磁盘,但每台服务器仍拥有自己卷,一旦某台服务器发生故障,其卷被其他服务器接管?优点:因为消除了复制操作,所以减少了网络和服务器开销优点:因为消除了复制操作,所以减少了网络和服务器开销?缺点:通常需要磁盘镜像或缺点:通常需要磁盘镜像或RAID技术技术集群方法集群方法?共享磁盘服务器(共享磁盘服务器(Servers Share Disks)?多台服务器同时共享对磁盘的访问多台服务器同时共享对磁盘的访问?优点:网络和服务器开销低,减少了因磁盘故障而引起的停机风险优点:网络和服务器开销低,减少了因磁盘故障而引起的停机风险?缺点:需要上锁管理软件,通常与磁盘镜像或缺点:需要上锁管理软件,通常与磁盘镜像或RAID技术一起使用技术一起使用集群方法集群方法PPMI/OI/OPPI/OI/OM高速消息链接不共享磁盘的双服务器高速消息链接不共享磁盘的双服务器集群方法集群方法PPMI/OI/OPPI/OI/OM高速消息链接共享磁盘高速消息链接共享磁盘I/OI/ORAID集群集群-操作系统设计问题操作系统设计问题?故障管理故障管理?高度可用的集群:高度可用的集群:OS对部分执行的事物的状态并不保证,需在应用级处理对部分执行的事物的状态并不保证,需在应用级处理?容错集群:容错集群:OS完成故障补救和故障复原机制完成故障补救和故障复原机制故障补救:将应用程序和数据资源从发生故障的系统交换到集群中另一个系统上故障补救:将应用程序和数据资源从发生故障的系统交换到集群中另一个系统上故障复员:一旦系统已被修复,则将应用程序和数据资源恢复到原来系统故障复员:一旦系统已被修复,则将应用程序和数据资源恢复到原来系统16集群集群-操作系统设计问题操作系统设计问题?负载平衡机制负载平衡机制?要求并行地执行一个单一应用软件,主要有三种解决方法:要求并行地执行一个单一应用软件,主要有三种解决方法:并行编译器:在编译时决定应用程序的哪一部分可以并行地执行并行编译器:在编译时决定应用程序的哪一部分可以并行地执行并行应用:应用开发考虑,也许是针对某些应用程序开发集群的最好方法并行应用:应用开发考虑,也许是针对某些应用程序开发集群的最好方法集群与集群与SMP?支持高性能应用支持高性能应用?SMP:比集群易于管理和配置,与原来的单处理机模型更接近,从单处理器发展到:比集群易于管理和配置,与原来的单处理机模型更接近,从单处理器发展到SMP的过程中主要改变是调度的过程中主要改变是调度?集群:将占领高性能服务器的主导市场。在增长性和绝对规模上比集群:将占领高性能服务器的主导市场。在增长性和绝对规模上比SMP要优越很多;在可用性上更优越要优越很多;在可用性上更优越?独立的计算机通过某种高速局域网或交换硬件设备连接起来独立的计算机通过某种高速局域网或交换硬件设备连接起来?每台计算机都能独立工作每台计算机都能独立工作?每台计算机上都安装集群中间件,该中间件完成:每台计算机上都安装集群中间件,该中间件完成:?为用户提供统一的系统映像为用户提供统一的系统映像?负责提供高可用性负责提供高可用性?提供单一入口(登陆)、单一文件层次、单一控制点(有一台默认的工作站用于集群管理和控制)典型的集群计算机体系结构提供单一入口(登陆)、单一文件层次、单一控制点(有一台默认的工作站用于集群管理和控制)典型的集群计算机体系结构典型的集群计算机体系结构典型的集群计算机体系结构PC/工作站工作站Comm SWNet.interface HWPC/工作站工作站Comm SWNet.interface HWPC/工作站工作站Comm SWNet.interface HW集群中间件集群中间件串行应用程序串行应用程序并行应用程序并行应用程序并行编程环境并行编程环境W2K 集群服务器集群服务器?W2K集群服务器是一种不共享集群,每个磁盘卷和其他资源在某一时刻由单个系统所拥有集群服务器是一种不共享集群,每个磁盘卷和其他资源在某一时刻由单个系统所拥有?W2K集群服务器的设计使用下列概念:集群服务器的设计使用下列概念:?集群服务(Cluster Service):每个节点上软件的集合,管理所有的面向集群的行为集群服务(Cluster Service):每个节点上软件的集合,管理所有的面向集群的行为?资源(Resource):集群服务所管理的资源(Resource):集群服务所管理的W2K 集群服务器集群服务器?W2K集群服务器的设计使用下列概念:集群服务器的设计使用下列概念:?在线(Online):当资源在指定节点上提供服务时,资源在该节点上是在线的在线(Online):当资源在指定

    注意事项

    本文(现代操作系统专题8.pdf)为本站会员(qwe****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开