第14讲.网络与分布式处理.ppt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 14 网络 分布式 处理
- 资源描述:
-
,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,操作系统,华软软件学院软件工程系,P,*,单击此处编辑母版标题样式,第十四讲,网络与,分布式处理,华软软件工程系,第,9,、,10,章,主要章节,本讲内容,网络,分布式处理,主要内容,教学要求,本章目的:,以,Linux,为例讲述操作系统中网络功能的实现。,教学目标:,TCP/IP 体系结构;Linux 操作系统网络实现结构;套接字及缓冲;设备接口。,重点与难点:,Linux,网络功能的结构。,专业术语,:,套接字,网络协议,套接字地址族,网络协议简介,任意两个计算机系统之间的通信,必须有较高的协调性。,为了在复杂的网络环境中实现它,人们采用了分层次的方法将任务划分成若干可实现的子模块,分层排列实现。,网络协议简介,各层的功能如下:,应用层:,用户访问网络的接口层。向用户进程提供,网络服务,。主机间两个进程的通信,表示层:,将欲交换的数据从适合于某一用户的抽象语法变换为适合在,OSI,内部使用的传送语法。实质上就是,数据格式的转换,。此外还有加密、压缩。,会话层:负责主机中,两个进程之间的通信过程,进行管理。双工、半双工。多连接,断点续传。,运输层:,为不同系统内的用户进程建立端到端的连接。进行差错控制、流量控制。传送单位为报文,对网络透明,网络层:,为互联网上的不同主机提供通信。任务:选择适合的路由,使发方运输层传来的分组(包)能按地址找到目的主机。,数据链路层:,在两个邻近节点间无差错地传送以帧,frame,为单,位的数据。,物理层:,透明地传递比特流。,网络协议简介,而从,Internet,发展起来的,TCP/IP,协议由于其高效、适用成了事实上的工业标准。其协议栈如图,15.1,所示。,Linux,网络的分层结构,在操作系统实现上网络数据从用户进程传到网络设备要经过四个层次,:,网络应用进程,、,套接字层,、,协议层,、,物理设备,。,Linux,的套接字及其缓冲区,套接字在网络中的地位,套接字对用户应用程序的编程来说是一个,网络接口,。用户进程通过套接字来跟网络打交道,。,Linux,的套接字及其缓冲区,套接字的作用,socket,位于协议之上,屏蔽了不同网络协议之间的差异;,socket,是网络编程的入口,它提供了大量的系统调用,构成了网络程序的主体;,在,Linux,系统中,,socket,属于文件系统的一部分,网络通信可以被看作是对文件的读取,使得我们对网络的控制和对文件的控制一样方便。,Linux,的套接字及其缓冲区,Linux,套接字的层次,通信领域中,存在多种套接字类型,不同的套接字类型称为“地址族”。每种地址族拥有自己的通信寻址方法。,Linux,采用将,INET,套接字地址族抽象成,BSD,套接字接口,方便移植。,Linux,的套接字及其缓冲区,套接字通信数据结构,BSD,套接字层用于网络连接的数据结构是,socket(,在,include/,linux/net.h,中,),。,应用程序通过一个,socket,的文件描述符与,BSD,套接字中的一个,socket,相对应。对,socket,结构进行操作的函数有,sock_alloca,(申请和释放一个套接字,在(,net/,socket.c,中)、,socket_file_ops,(,文件系统传递过来的操作,在(,net/,socket.c,中),INET,套接字层用于包存放和调度的数据结构是,sock(,在,include/net/,sock.h,中,),。,TCP Client,开始,生成套接字,接通,形成等待队列,接受连接请求,取得地址,生成套接字,开始,接通,开始传输,等待客戶端的连接,建立连接,read,write,处理请求,TCP Server,TCP socket,开始传输,s,ocket(),b,ind(),l,isten(),a,ccept(),s,ocket(),c,onnect(),Linux,网络协议的实现,建立连接,创建,socket,根据网络协议初始化,socket,socket,管理连接控制和数据信息,OS,定义动作将一个,socket,管理的数据通过传输层、网络层、物理层的协议传输,通过另一端的物理层、网络层、传输层上达监听数据的应用程序,下面通过一段程序表明系统如何建立连接。,Linux,网络协议的实现,撤销连接,通过,sys_close,(),函数最终调用,sock_close,(),实现撤销连接。,数据发送,应用层(通过,write,发送),BSD,套接字层,(write,对应,sys_write,(),INET,套接字层,(,inet_sendmsg,(),从,INET,层到,IP,层(通过,ip_queue_xmit,实现数据传输过程由,INET,层到,IP,层的切换),硬件层(调用,dev_queue_xmit,将数据从设备中送出。),Linux,网络协议的实现,Linux,的网络设备接口,结构,发送数据到设备时,设备驱动程序负责将来自协议层的网络缓冲区发送到物理介质,并接收硬件产生的应答信号。,从设备接收数据时,设备驱动程序接收来自网络介质的数据帧,并把它转换到能被网络协议识别的网络缓冲区中,然后把它传递给,netif_rx,(),函数。该函数把数据帧传递到网络协议层进一步处理。,Linux,的网络设备接口,设备注册,网络接口的注册有两种方式:,内核初始化和模块方式初始化,内核初始化,内核启动的方式是指在系统引导内核,启动操作系统的时候完成网络接口初始化,并注册存在的网络接口,使之在系统启动结束后网络接口能被自动使用。,模块方式初始化,微内核(,Microkernel,)体系结构,微内核结构只给内核分配一些最基本的功能,如进程创建和删除、内存地址空间管理、进程间通信和最基本的调度。其他的服务由运行在用户模式下的进程提供,这些进程也称为服务进程。将内核和服务分开。,单一(,Monolithic,)体系结构,将所有操作系统功能模块集中在一起编译成一个二进制代码。运行速度快和性能好,但扩展性差。,Linux,采用模块机制的单一体系结构。,Linux,的网络设备接口,第二部分,分布式处理,第,16,章,分布式处理,主要内容,教学要求,本章目的:,本章介绍分布式操作系统相关处理过程及概念。,教学目标:,客户/服务器计算;分布式消息传递;集群,。,重点与难点:,客户,/,服务器计算,;,集群。,专业术语,:,分布式系统,中间件,远过程调用,进程迁移,集群,分布式操作系统,将大量计算机通过网络连接在一起,以获得极高的运算能力和数据共享的系统称为分布式系统(,Distributed System,)。,能使分布式计算机系统中若干台计算机,相互协作完成一个共同任务,的系统软件称为分布式操作系统(,Distributed Operating System,),分布式操作系统特点:,统一的操作系统。,处理机资源共享。计算任务能方便地从一台主机迁移到另一台主机上运行。,透明性。各主机地理位置对用户是透明的。,自治性。各台主机都处于平等的地位,没有主从关系。,分布式系统的主要优点是:,可以使用许多较低成本的主机,通过分布计算获得较高的运行性能,由于拥有较多分布在各地的主机,个别主机发生故障时,整个系统仍能工作。,客户,/,服务器计算,分布式环境的客户,/,服务器模式,典型客户,/,服务器结构,客户,/,服务器计算,分布式环境的客户,/,服务器模式,数据库应用的客户,/,服务器结构,客户,/,服务器计算,分布式环境的客户,/,服务器模式,客户,/,服务器负载分布方式,客户,/,服务器计算,三(多)层浏览器,/,服务器结构,随着互联网的应用,由客户/服务器方式逐渐发展出了客户/中间层服务器/后端服务器的模式,即n,-Tier,模式,。,客户,/,服务器计算,中间件,为了克服客户/服务器或多层结构带来的复杂性,使得程序能,以相同的方式跨越各种平台,在任何位置都能访问数据,需要一种在应用程序与通信软件及操作系统之间的,接口和协议,。实现这种接口和协议的软件即为中间件(middle,ware)。,如:数据库服务采用结构化查询语言提供一种标准化方式。,中间件分客户端和服务器端组建,但都基于,消息传递,或,远过程调用,两种通信方式。,分布式进程通信,分布式消息传递,分布式进程通信,分布式消息传递,分布式进程通信,远过程调用,远过程调用实际上是消息传递方法的一种改进形式。,远过程调用,RPC,(,remote procedure call,)使得不同机器上的进程采用简单的过程调用和返回进行交互,其过程调用用于访问远程服务。,这种方法的普及是因为:,过程调用在单机系统中已被广泛使用,为用户熟悉和掌握。,分布式系统中的远过程定义了明确的调用接口,在编译时可静态地检查类型匹配错误。,远过程调用具有精确定义的标准接口,便于自动生成应用的通信代码。,远过程调用具有精确定义的标准接口,开发者编写的客户机端或服务器端的通信模块易于移植。,分布式进程通信,远过程调用,远过程调用的整体结构,分布式进程通信,远过程调用,远过程调用机制,例如:,CALL P(X,Y),进程迁移,概念,进程迁移是指由进程原来运行的机器(源主机或生产机)向目标机器(备机)传送足够数量的有关该进程的信息,使该进程能在另一机器上执行。,进行进程迁移一般用于如下情况:,预期机器发生故障,负载均衡,改善通信性能,充分利用专有功能的计算机,进程迁移,进程迁移机制,进程迁移由源主机的分布式系统实施,并需得到目标机器操作系统的紧密协同共同完成。由谁启动进程迁移取决于迁移的目的,如果是利用某计算机专有功能,则由进程迁移自己。,除此之外的迁移目的,无论是处于负载均衡,还是改善通信性能,或是避免故障,所有这些迁移则由操作系统中监视系统情况的进程启动迁移。,当一个进程被迁移时,需要作如下工作:,进程迁移,进程迁移机制,当一个进程被迁移时,需要撤销源机器上的进程,并在目标机器上创建它。由于这是进程映像的移动,而不是复制,所以是将进程映像(至少是进程控制块,PCB,)移到目标机上。,这个进程如果正在与其它进程通信,如发送了消息、信号等,则需对这些连接一起进行修改。,可能的话需要迁移进程的整个地址空间,这样做的好处是源系统不再需要记录和跟踪进程的剩余部分,便于迁移进程在目标机顺利工作。但地址空间太大则付出的代价太高。,一般仅迁移进程在主存中的部分,而在虚拟地址空间的其他部分仅当需要时才进行传输,这样可以减少传输量。此外也还需要考虑访问远程文件的次数。,在进程整个生命期内,源系统需维持进程的页表或段表等实体,以提供远程页的支持。,如果被打开的文件是和被迁移进程在同一台源主机中,而且已由该进程锁住进行互斥访问,那么应与进程一起迁移。当如果进程是临时性迁移,文件是返回再用,那就不必迁移该文件。,进程的开销需要一定的时间(几分钟)。,进程由双方系统的监管进程协商后,才进行迁移进程的发送和接收。,分布式环境下的互斥及死锁,概念,分布式系统中资源的管理方法,分布式集中管理:每个资源均由本地主机惟一的一个管理者管理,资源的完全分布管理:每个资源由位于不同节点上的资源管理者共同来管。,资源管理算法应满足以下条件:,应保证每个资源在任何时候最多被一个进程所占有,即保证互斥分配。,不应使有些进程长期或无限期等待,即不应产生饥饿和死锁情况。,各资源管理者在协商中处于平等地位。,分布式环境下的互斥及死锁,逻辑钟,分布式系统中每台机器拥有自己的一个时钟,但时钟由于物理上的原因不可能完全一样,每个时钟的速度也是不一样的,导致这些时钟的时间不一致。,逻辑时间:是指所关心的只是不同事件之间的顺序,而不是真的要求得到物理时间。,保证逻辑时间正确的算法,分布式环境下的互斥及死锁,互斥算法,集中式算法。,用一个进程作为协调者,任何进程需要访问临界区时都向协调者发送消息请求,协调者每次只让一个进程进入临界区。,分布式算法。,任何进程要进入临界区需要向所有其他进程发送消息,消息中包含当前时间、自己的进程号。其他进程做如下判断:,如果接收进程不准备进入临界区,也不在临界区中,直接回答发送者以,OK,。,如果接收进程在临界区中,暂时不回答。,如果接收进程也想要进入临界区,那么比较自己发送的消息中的时间与接收到的消息中的时间。,令牌环算法,分布式环境下的互斥及死锁,死锁,分布式系统常用四种解决方案:,鸵鸟算法。其实就是忽略不管,一旦死锁发生,用户自己重启系统。,死锁检测,预防死锁,(deadlock prevention),。,死锁避免,(deadlock avoidance),。,集群,概念,集群(,Cluster,)是分布式系统的一种,是目前较热门的领域。,它是由一组互联的主机(节点)构成统一的资源,通过相应软件协调工作的计算机机群。,优点:,可伸缩性:可由两台主机构成,也可由数百台主机,高可用性:每台节点机都是自治的,所以一个节点的故障不影响整个系统。能自动进行容错处理。,高性价比:以非常低的加个,获得与一台大型计算机相匹配或更高的性能。,集群,集群技术的分类,按集群提供的功能分:,基于双机系统的集群,利用硬件的方式来提高系统的可用性。,基于负载均衡,(Load Balance),的集群,:,用户访问一个地址,但实际上后台有若干个服务器在提供服务。,基于并行计算的集群:集群系统的各个节点共同执行一个单一应用。,按存储结构分:,不共享磁盘的集群,共享磁盘的集群,集群,集群技术的分类,集群,Beowulf,集群,Beowulf,不仅是软件,它是一种将普通计算机构建成超级并行计算机的方法。,尽管,Beowulf,可在不同的平台上实现,但基本上在运行,Linux,的,PC,平台上应用得多。,Beowulf,软件是开放源代码的,其代码可在,www.beowulf.org,下载。包括以下内容:,1,),Beowulf,分布式进程空间管理软件包:提供进程,ID,在整个集群空间的分布,提供在其他节点启动进程的机制。,2,),Beowulf,网络通道绑定:提供将多个网络组合其他构成一个高宽带的逻辑网络的机制。,3,),Pvmsync,:编程环境,为集群中的进程提供同步机制和共享数据对象。,4,),EnFuzion,:,由一组织性参数计算的工具组成。,谢 谢!,认真完成本章小课实验,先预习再听课,否则跟不上,其他提醒,提 醒,展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




第14讲.网络与分布式处理.ppt



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/12777116.html