现代操作系统专题8.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《现代操作系统专题8.pdf》由会员分享,可在线阅读,更多相关《现代操作系统专题8.pdf(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1现代操作系统专题之八分布式处理现代操作系统专题之八分布式处理电子科技大学计算机学院罗 蕾电子科技大学计算机学院罗 蕾分布式数据处理的优势分布式数据处理的优势?响应性(Responsiveness):从管理方式看,相对于集中化的设施要同时满足整个组织的需要而言,局部计算机能够更加直接地、有效地满足局部机构的需要响应性(Responsiveness):从管理方式看,相对于集中化的设施要同时满足整个组织的需要而言,局部计算机能够更加直接地、有效地满足局部机构的需要?可用性(Availability):对于多个互联的系统,任何一个系统的丢失可以做到只具有很小的影响。关键系统和部分可以进行备份,这样,
2、备份系统可以在故障后继续工作可用性(Availability):对于多个互联的系统,任何一个系统的丢失可以做到只具有很小的影响。关键系统和部分可以进行备份,这样,备份系统可以在故障后继续工作?资源共享(Resource sharing):昂贵的硬件设备可以在用户之间共享;数据文件可由中心来管理和维护,但在组织范围内都能访问资源共享(Resource sharing):昂贵的硬件设备可以在用户之间共享;数据文件可由中心来管理和维护,但在组织范围内都能访问分布式数据处理的优势分布式数据处理的优势?增量式成长(Incremental growth):可逐步地替换应用程序或系统,避免或者全有或全无的方
3、法增量式成长(Incremental growth):可逐步地替换应用程序或系统,避免或者全有或全无的方法?增加用户的介入和控制(Increased user involvement and control):随着更小、更易管理的设备在物理位置上位于用户的身边,用户有更大的机会来影响系统的设计和操作,或与技术人员进行直接的交互,或通过用户的直接上级增加用户的介入和控制(Increased user involvement and control):随着更小、更易管理的设备在物理位置上位于用户的身边,用户有更大的机会来影响系统的设计和操作,或与技术人员进行直接的交互,或通过用户的直接上级?终端用
4、户的生产率(End-user productivity)给予用户更好的快速响应终端用户的生产率(End-user productivity)给予用户更好的快速响应分布式处理分布式处理?OS中分布式处理:OS中分布式处理:通信体系结构(通信体系结构(Communication architecture)Communication architecture):已成熟,商用:已成熟,商用网络操作系统(Network operating system):已成熟,商用网络操作系统(Network operating system):已成熟,商用分布式操作系统分布式操作系统(Distributed ope
5、rating system):(Distributed operating system):研究和开发的前沿,处于实验阶段研究和开发的前沿,处于实验阶段通信体系结构通信体系结构是独立计算机的联网软件,它能支持分布式应用,如:电子邮件、文件传输及远程终端访问等是独立计算机的联网软件,它能支持分布式应用,如:电子邮件、文件传输及远程终端访问等必须显式地引用才能与其他计算机进行通信必须显式地引用才能与其他计算机进行通信每台计算机具有独立的OS,要求所有计算机支持同样的通信体系,如TCP/IP每台计算机具有独立的OS,要求所有计算机支持同样的通信体系,如TCP/IP网络操作系统网络操作系统 典型的网络
6、操作系统是一个通过局域网连接的微型计算机网络典型的网络操作系统是一个通过局域网连接的微型计算机网络 网络中的计算机通常是单用户工作站或一台/多台服务器,服务器提供本网范围的服务或应用网络中的计算机通常是单用户工作站或一台/多台服务器,服务器提供本网范围的服务或应用 每个用户有自己的微机工作站,可能有硬盘,也可能没有,但必定有自己的操作系统,可以一样也可以不一样。每个用户有自己的微机工作站,可能有硬盘,也可能没有,但必定有自己的操作系统,可以一样也可以不一样。NOS只是本地OS的一个附属物,它使应用程序所在机器与服务器之间能够交互NOS只是本地OS的一个附属物,它使应用程序所在机器与服务器之间能
7、够交互2网络操作系统网络操作系统 操作系统管理单个的工作站、文件服务器、还要关心它们之间的通信操作系统管理单个的工作站、文件服务器、还要关心它们之间的通信 每台机器都有高度的自治权,除了网络通信之外,没有多少对整个系统范围的要求每台机器都有高度的自治权,除了网络通信之外,没有多少对整个系统范围的要求 用户知道多台独立的计算机并显式地和它们打交道,用户依据权限,使用整个网络中的各项资源用户知道多台独立的计算机并显式地和它们打交道,用户依据权限,使用整个网络中的各项资源 一般使用一个公用通信体系结构来支持这些网络应用一般使用一个公用通信体系结构来支持这些网络应用分布式处理分布式处理?典型的网络操作
8、系统典型的网络操作系统?Windows2000Windows2000?NetWareNetWare?各种Unix系统各种Unix系统分布式操作系统分布式操作系统分布式操作系统的思想,是让用户不关心系统中多CPU的存在。目前尚不存在真正的符合条件的系统,但有原型机出现分布式的特征:分布式操作系统的思想,是让用户不关心系统中多CPU的存在。目前尚不存在真正的符合条件的系统,但有原型机出现分布式的特征:进程管理应该处处一致。当一个进程开始时,所有内核将协调工作,以便找到运行该进程的最佳位置进程管理应该处处一致。当一个进程开始时,所有内核将协调工作,以便找到运行该进程的最佳位置 在所有机器上有单一的系
9、统调用集合,这些调用还必须适合分布式的环境。既然在所有地方系统调用都一样,那么在所有CPU上运行同样的内核也就是自然的结果了在所有机器上有单一的系统调用集合,这些调用还必须适合分布式的环境。既然在所有地方系统调用都一样,那么在所有CPU上运行同样的内核也就是自然的结果了分布式操作系统分布式操作系统 本地通信与远程通信有相同的机制本地通信与远程通信有相同的机制 有全局的保护机制有全局的保护机制 需要一个全局的文件系统需要一个全局的文件系统 当然,每个内核对本地的资源还是有较大的控制权例如,既然没有共享内存,那么让各个内核管理自己的内存是很自然的事当然,每个内核对本地的资源还是有较大的控制权例如,
10、既然没有共享内存,那么让各个内核管理自己的内存是很自然的事 需要页面交换时,本地的内核是决定怎样做的最佳人选。没有必要全局化需要页面交换时,本地的内核是决定怎样做的最佳人选。没有必要全局化分布式操作系统的特征透明性(1)?怎样让人相信在所谓的分布式系统中这样一群机器和一台普通的单处理机系统会一样呢?能达到这样目标的系统被称为是透明的透明性(2)透明性有两种层次含义一种含义是对用户隐藏了分布性例如,当一个UNIX用户敲入make时,从终端发出命令,再将结果显示到终端上,分布式系统可以跟单处理机系统的表现完全一样。唯一不寻常的事情是,系统的性能似乎快了很多。用户不知道诸如编译一类的工作是在多台机器
11、上执行的3透明性(3)系统对程序透明是透明性含义的更低一个层次。也就是说从系统调用的接口看不出有多个处理器存在系统对程序透明是透明性含义的更低一个层次。也就是说从系统调用的接口看不出有多个处理器存在如果在一个系统中,访问远程文件是通过显式地建立一条与远程服务器的连接,再将消息发送给它,那么这样的系统显然不是透明的如果在一个系统中,访问远程文件是通过显式地建立一条与远程服务器的连接,再将消息发送给它,那么这样的系统显然不是透明的透明性(4)透明性的各种含义透明性的各种含义在一个真正的分布式系统中,用户不清楚在一个真正的分布式系统中,用户不清楚CPU,打印机,文件,数据库等等资源到底在哪里,打印机
12、,文件,数据库等等资源到底在哪里,位置透明性位置透明性如果资源可以自由地从一处迁移到另一处,无需改变它们的名字如果资源可以自由地从一处迁移到另一处,无需改变它们的名字,这就是迁移透明性这就是迁移透明性透明性(5)如果操作系统可以任意复制文件和其它资源,形成多个拷贝,而用户却不用关心这点,那么系统是复制透明性的如果操作系统可以任意复制文件和其它资源,形成多个拷贝,而用户却不用关心这点,那么系统是复制透明性的如果用户注意不到其它用户的存在,那么系统是并发透明的如果用户注意不到其它用户的存在,那么系统是并发透明的在用户眼里分布式系统应该象一台传统的、单处理器系统在用户眼里分布式系统应该象一台传统的、
13、单处理器系统透明性(6)如果一个程序员知道某个分布式系统中有如果一个程序员知道某个分布式系统中有10,000个个CPU,并且想利用其中的一部分,并且想利用其中的一部分CPU运行象棋程序,系统该怎么办?运行象棋程序,系统该怎么办?理论上的答案是,操作系统及其它系统软件如编译器、运行系统应该能知道怎样利用程序中潜在的并行性,程序员不需要知道这点。这是最困难的一种透明性,并行透明性理论上的答案是,操作系统及其它系统软件如编译器、运行系统应该能知道怎样利用程序中潜在的并行性,程序员不需要知道这点。这是最困难的一种透明性,并行透明性目前还没有人能做到这点。如果能实现并行透明性,那么有关分布式系统的研究将
14、进入新的层次目前还没有人能做到这点。如果能实现并行透明性,那么有关分布式系统的研究将进入新的层次灵活性(1)设计第二个关键性问题是灵活性设计第二个关键性问题是灵活性涉及到灵活性的关键,分布式系统的结构设计涉及到灵活性的关键,分布式系统的结构设计灵活性(2)对于分布式系统的结构有两种不同的观点对于分布式系统的结构有两种不同的观点认为每台机器上应该运行一个传统的内核,自身提供大部分的服务认为每台机器上应该运行一个传统的内核,自身提供大部分的服务,这种方式称为单内核这种方式称为单内核认为每台机器上的内核应该提供尽可能少的服务,大部分操作系统的服务应该通过用户级的服务器来实现认为每台机器上的内核应该提
15、供尽可能少的服务,大部分操作系统的服务应该通过用户级的服务器来实现,这种方式称为微内核这种方式称为微内核4灵活性(3)通常在集中式操作系统加上网络设施,再集成上远程服务就构成了单内核。通常在集中式操作系统加上网络设施,再集成上远程服务就构成了单内核。系统调用是传统的,即通过执行陷井指令,转入到核心状态,由内核完成,结果再返回给用户进程系统调用是传统的,即通过执行陷井指令,转入到核心状态,由内核完成,结果再返回给用户进程灵活性(4)在这种分布式系统中,大部分机器都有硬盘,并有本地的文件系统。许多通过在这种分布式系统中,大部分机器都有硬盘,并有本地的文件系统。许多通过UNIX扩展或仿真的分布式系统
16、都使用这种方法扩展或仿真的分布式系统都使用这种方法灵活性(5)?新设计的分布式系统一般使用了微内核设计方法新设计的分布式系统一般使用了微内核设计方法微内核通常只提供如下微内核通常只提供如下4种服务:种服务:进程间通信机制进程间通信机制内存管理内存管理少量的低级进程管理和调度少量的低级进程管理和调度底层的输入底层的输入/输出输出灵活性(6)一般认为,微内核更加灵活,因为它只做非做不可的事情一般认为,微内核更加灵活,因为它只做非做不可的事情它不提供文件系统、目录系统、大部的进程管理和多数系统调用。它仅仅提供那些在别处无法提供或者开销很大的服务它不提供文件系统、目录系统、大部的进程管理和多数系统调用
17、。它仅仅提供那些在别处无法提供或者开销很大的服务设计的总体目标是微内核应尽可能地小设计的总体目标是微内核应尽可能地小灵活性(7)在由微内核实现的系统中,其它的系统服务都通过用户级的服务器实现每个服务都有一个的接口;每个客户都能访问到各项服务,而与位置无关在由微内核实现的系统中,其它的系统服务都通过用户级的服务器实现每个服务都有一个的接口;每个客户都能访问到各项服务,而与位置无关灵活性(8)微内核好处是高度模块化微内核好处是高度模块化,也比较容易实现安装和调试新的服务,因为添加或更改服务不要求停止现有的系统也比较容易实现安装和调试新的服务,因为添加或更改服务不要求停止现有的系统微内核具有更强的灵
18、活性。任何需要特定系统服务的用户还可以编写自己定义的服务微内核具有更强的灵活性。任何需要特定系统服务的用户还可以编写自己定义的服务5灵活性(9)图(a)单内核的系统(b)微内核实现的系统可靠性(1)理论上理论上,在分布式系统中在分布式系统中,当某个机器停止工作时,其它机器能接替它的工作所以分布式系统比单处理机系统更加可靠当某个机器停止工作时,其它机器能接替它的工作所以分布式系统比单处理机系统更加可靠可靠性(2)实际上,运行的分布式系统往往依赖于能同时正常工作的多个服务器系统的可靠性更取决于各个主要部件可靠性的布尔实际上,运行的分布式系统往往依赖于能同时正常工作的多个服务器系统的可靠性更取决于各
19、个主要部件可靠性的布尔“与与”,而不是布尔,而不是布尔“或或”可靠性(3)可靠性有不同的含义可靠性有不同的含义可用性可用性(availability)指的是系统可以正常工作的时间比例。高可靠性必须有很高的可用性。指的是系统可以正常工作的时间比例。高可靠性必须有很高的可用性。一般而言,系统中文件拷贝的数目越多,可用性会越好,但文件之间不一致的概率也越高,这是一种矛盾一般而言,系统中文件拷贝的数目越多,可用性会越好,但文件之间不一致的概率也越高,这是一种矛盾可靠性(4)容错性与可靠性也有关联容错性与可靠性也有关联一台服务器的崩溃会让整个系统都不能正常工作吗?一台服务器的崩溃会让整个系统都不能正常工
20、作吗?一般而言,在分布式系统中用户注意不到一两台服务器崩溃的事实,能察觉的顶多是性能上慢下来而已一般而言,在分布式系统中用户注意不到一两台服务器崩溃的事实,能察觉的顶多是性能上慢下来而已可靠性(5)可靠性的另一层面是安全性可靠性的另一层面是安全性?在分布式系统中,不能简单的相信消息中的名字或身份,因为发送过程中可能有欺骗在分布式系统中,不能简单的相信消息中的名字或身份,因为发送过程中可能有欺骗6性能(1)一个分布式系统速度慢得出奇,那么它的透明、灵活和可靠的特性又有什么意义呢?一个分布式系统速度慢得出奇,那么它的透明、灵活和可靠的特性又有什么意义呢?响应时间是评价的标准之一,系统利用率,吞吐率
21、(每小时完成的作业数),以及网络资源利用率也是评价的标准响应时间是评价的标准之一,系统利用率,吞吐率(每小时完成的作业数),以及网络资源利用率也是评价的标准当然,基准程序的测试结果是与基准程序本身的性质密切相关的当然,基准程序的测试结果是与基准程序本身的性质密切相关的性能(2)在分布式系统中,性能受通信的影响极大在分布式系统中,性能受通信的影响极大有时发一条消息并得到响应就要花有时发一条消息并得到响应就要花1个毫秒。有关的绝大部分时间花在了必需的协议处理上,而不是电缆本身传播上个毫秒。有关的绝大部分时间花在了必需的协议处理上,而不是电缆本身传播上但为了提高性能,就要求发送很多消息。在通信上时间
22、开销就大,这又是一个矛盾但为了提高性能,就要求发送很多消息。在通信上时间开销就大,这又是一个矛盾性能(3)可扩展性可扩展性在现有规模上采用的方法技术对于将来大规模的系统还适用吗?在现有规模上采用的方法技术对于将来大规模的系统还适用吗?现有的多数分布式系统中顶多有上百个现有的多数分布式系统中顶多有上百个CPU但是今天适合但是今天适合200个个CPU系统的解决方案可能根本不适合未来有系统的解决方案可能根本不适合未来有2万个万个CPU的系统的系统分布式软件的关键概念分布式软件的关键概念?客户客户/服务器结构(服务器结构(client/server architecture)?消息传递消息传递(mes
23、sage passing)?远程过程调用远程过程调用(remote procedure calls)?集群体系结构集群体系结构(cluster architecture)客户客户/服务器计算服务器计算?客户客户/服务器计算模式的出现迅速取代了以主机为主导的集中式计算方法服务器计算模式的出现迅速取代了以主机为主导的集中式计算方法?客户客户/服务器环境三个基本要素:服务器环境三个基本要素:?客户:通常是单用户客户:通常是单用户PC或工作站,为端用户提供非常友好的界面或工作站,为端用户提供非常友好的界面?服务器:为客户提供一组共享的用户服务程序服务器:为客户提供一组共享的用户服务程序?网络:客户和服
24、务器通过局域网、广域网或网络:客户和服务器通过局域网、广域网或Internet连接在一起连接在一起客户客户/服务器计算服务器计算?基于简单的、无连接的基于简单的、无连接的“请求请求/应答应答”协议协议?客户发送一个请求消息给服务器,请求服务;客户发送一个请求消息给服务器,请求服务;?服务器完成后将结果返回给客户(数据或出错代码)服务器完成后将结果返回给客户(数据或出错代码)优点:简单、高效优点:简单、高效7客户客户/服务器体系结构服务器体系结构硬件平台硬件平台客户客户OS通信软件通信软件应用逻辑(客户部分)应用逻辑(客户部分)表示服务客户方工作站表示服务客户方工作站硬件平台硬件平台服务器服务器
25、OS通信软件通信软件应用逻辑(服务器部分)服务器应用逻辑(服务器部分)服务器请求请求应答协议交互应答协议交互客户客户/服务器应用的分类服务器应用的分类?按照客户和服务器的分工,可将应用分为:按照客户和服务器的分工,可将应用分为:?基于主机的处理基于主机的处理?基于服务器的处理基于服务器的处理?基于客户的处理基于客户的处理?合作处理合作处理客户客户/服务器应用服务器应用-基于主机的处理客户基于主机的处理客户DBMS数据库逻辑数据库逻辑应用逻辑应用逻辑表示逻辑服务器表示逻辑服务器 用户接口通常是通过一台哑终端用户接口通常是通过一台哑终端/局限于终端仿真器的角色局限于终端仿真器的角色客户客户/服务器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 现代 操作系统 专题
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内