




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、分布式计算系统导论原理与组成胡建平,胡凯,n介绍分布式计算系统的原介绍分布式计算系统的原理与组成,包括命名、进理与组成,包括命名、进程、通信、同步与互斥和程、通信、同步与互斥和多副本一致性技术,以及多副本一致性技术,以及网络存储系统、分布式文网络存储系统、分布式文件系统、分布式事务、面件系统、分布式事务、面向对象的分布计算、面向向对象的分布计算、面向服务的分布计算、公用服服务的分布计算、公用服务分布计算和志愿参与分务分布计算和志愿参与分布计算的组成与结构。布计算的组成与结构。 分布式实时系统,张凤登,科学出版社,科学出版社,2014n分析了分布式实时系统的分析了分布式实时系统的负载、故障和模型
2、,以及负载、故障和模型,以及必须满足的时间规范,从必须满足的时间规范,从集成的角度,讲述了分布集成的角度,讲述了分布式实时应用所包含的实时、式实时应用所包含的实时、分布、容错、调度和架构分布、容错、调度和架构等方面的理论和技术基础,等方面的理论和技术基础,描述了系统设计、实现和描述了系统设计、实现和验证的一般方法,致力于验证的一般方法,致力于解释其解决方案与最新科解释其解决方案与最新科学见解之间的关系。学见解之间的关系。分布式系统:概念与设计(原书第5版)机械工业出版社 , 2013n介绍互联网及其他常用介绍互联网及其他常用分布式系统的原理、体分布式系统的原理、体系结构、算法和设计,系结构、算
3、法和设计,内容涵盖分布式系统的内容涵盖分布式系统的相关概念、安全、数据相关概念、安全、数据复制、组通信、分布式复制、组通信、分布式文件系统、分布式事务、文件系统、分布式事务、分布式系统设计等,以分布式系统设计等,以及相关的前沿主题,包及相关的前沿主题,包括括Web服务、网格、移服务、网格、移动系统和无处不在系统动系统和无处不在系统等。等。 分布式操作系统电子工业出版社, 2008n介绍设计和构造分布式操介绍设计和构造分布式操作系统的基本原理、算法作系统的基本原理、算法和实现技术。全书共和实现技术。全书共11章,前章,前6章较全面地介绍章较全面地介绍了分布式系统环境中的通了分布式系统环境中的通信
4、、同步、进程、文件系信、同步、进程、文件系统和存储器管理等方面的统和存储器管理等方面的概念与算法;后概念与算法;后4章详细章详细地给出了地给出了4个分布式系统个分布式系统的实例。的实例。分布式操作系统高等教育出版社, 2006n内容包括:分布式计算机系统内容包括:分布式计算机系统的拓扑结构,分布式操作系统的拓扑结构,分布式操作系统的结构模型、层次划分、通信的结构模型、层次划分、通信机制、事件定序、并发控制与机制、事件定序、并发控制与协同处理、资源管理、进程调协同处理、资源管理、进程调度、处理机分配、死锁处理、度、处理机分配、死锁处理、文件系统、命名与透明性、任文件系统、命名与透明性、任务分配和
5、负载共享、故障检测务分配和负载共享、故障检测与容错以及分布式事务处理,与容错以及分布式事务处理,分布式共享内存,分布式共享内存,CORBA体体系结构与中间件技术,面向对系结构与中间件技术,面向对象的分布式操作系统的设计方象的分布式操作系统的设计方法等。法等。分布式系统原理与范型n全书分为两部分:原理和范全书分为两部分:原理和范型。第一部分详细讨论了分型。第一部分详细讨论了分布式系统的原理、概念和技布式系统的原理、概念和技术,其中包括通信、进程、术,其中包括通信、进程、命名、同步、一致性和复制、命名、同步、一致性和复制、容错以及安全。第二部分给容错以及安全。第二部分给出了一些实际的分布式系统:出
6、了一些实际的分布式系统:基于对象的分布式系统、分基于对象的分布式系统、分布式文件系统、基于文档的布式文件系统、基于文档的分布式系统以及基于协作的分布式系统以及基于协作的分布式系统,介绍了一些实分布式系统,介绍了一些实际系统的设计思想和实现技际系统的设计思想和实现技术。术。主要内容主要内容n1分布式系统概论n2 分布式系统体系结构与命名n3分布式系统进程通信n4分布式系统同步和并发控制n5 分布式系统中容错技术n6分布式系统多副本数据管理n7分布式系统资源管理与调度n8分布式文件系统n9 分布式共享存储器n10 基于对象的分布式系统操作系统回顾1.1操作系统的作用操作系统的作用 1.2 操作系统
7、的演变 1.3 操作系统的主要研究课题1.1操作系统的作用操作系统的作用操作系统是计算机用户和计算机硬件之间的接口程序模块,它是计算机系统的核心控制软件, 其职能是控制和管理系统内各种资源控制和管理系统内各种资源,有效地组织有效地组织多道程序的运行多道程序的运行,从而为用户提供良好的工作环境,达到使用方便、资源分配合理、安全可靠等目的。 操作系统是现有软件系统中最复杂的软件之一。在操作系统的研究开发方面主要取得了进程、内存管理、信息保护与安全、调度与资源管理和系统结构等五项成就。 硬件系统和应用程序间的界面硬件系统和应用程序间的界面由操作系统定义的软、硬件和数据,给程序员以及使用者提供了方便的
8、界面,使程序员和应用程序更容易获取和使用计算机系统中的资源、工具和服务。应用程序Web浏览器、GIS、ERP中间件DBMS、CORBA、.NET系统程序操作系统、shell、C编译器固件BIOS硬件PC机、工作站、小型机、大型机 一台扩展的计算机一台扩展的计算机隐藏了具体的硬件细节为用户提供了一台容易使用的虚拟的计算机一个资源管理器一个资源管理器每个程序分享时间每个程序分享空间操作系统概念操作系统概念具有如下功能: n 程序创建。 n 程序执行。 n I/O设备的访问。n 控制对文件的访问。n 系统访问。 n 查错和纠错。 n 日志。 作为扩展的计算机作为扩展的计算机作为资源管理器的操作系统作
9、为资源管理器的操作系统I/O 设 备内 存处 理 器处 理 器I/O 控 制 器I/O 控 制 器I/O 控 制 器操 作 系 统软 件程 序 和数 据数 据程 序O S1.2操作系统的演变操作系统的演变 操作系统发展至今已有三十多年。设计操作系统主要有两个目的:第一,为程序的开发和执行提供一个方便的环境;第二,为保证计算机系统顺利执行,操作系统对各个计算活动进行调度。 操作系统发展历史操作系统发展历史n第一代 1945 - 1955n电子管,插件板n第二代 1955 - 1965n晶体管,批处理系统n第三代 1965 1980n集成电路(IC)和多道程序设计n第四代 1980 现在nVLSI
10、, 个人计算机,网络操作系统操作系统家族操作系统家族n大型机操作系统(e.g IBM OS/390)n服务器操作系统(e.g. UNIX, NT)n多处理机操作系统n分布式操作系统nPC机操作系统(e.g Widows)n实时操作系统(e.g VxWorks)n嵌入式操作系统(e.g Windows CE)nSmart card操作系统(e.g JVM)串行处理系统串行处理系统 最早的计算机,从20世纪40年代末到50年代中期,程序员直接与硬件接触,根本没有OS。计算机运行在一个集成了指示器、各种开关、一些输入设备以及一个打印机的控制台之上。早期的这种系统存在两个问题: n(1)上机安排 n(
11、2)启动时间 简单批处理系统简单批处理系统n将卡片装入 1401机的读卡机n将卡片中的程序读入磁带n将磁带装入 7094机, 完成计算1.将磁带装入 1401机,打印结果简单批处理系统(续)简单批处理系统(续)简单批处理系统是专业计算机操作员(或机器)按作业的性质将作业按类分成若干组,然后一组一组地来运行一组一组地来运行作业。 在早期计算机系统中,引进简单批处理系统可以减少安装磁带、装入程序和返绕磁带等有关的工序浪费的时间,因此,也就减少了计算机的空闲时间。 批处理系统实质上不提供用户和程序之间的交互功能。程序中的所有问题必须事先安排好,也不能进行联机修改。简单批处理系统(续)简单批处理系统(
12、续) 简单批处理系统的中心思想是,通过应用一种被称为监控器的软件,使用户不必再直接接触机器,而是先通过卡片机和纸带机向计算机控制器提交作业,由监控器将作业组织在一起构成一批作业,然后将整批作业放入由监控器管理的输入设备上,每当一个程序执行完毕返回监控器时,监控器已自动装入下一个程序。 简单批处理系统(续)简单批处理系统(续) 批处理系统存在很多不方便之处,主要有:用户不能与其作业交互以捕捉程序中的问题。用户程序中的所有问题必须事先安排好,否则程序的排错就可能在转储信息上盲目地进行。此外,对一个用户作业而言,可能需要较长的周转时间。 在批处理系统中,为了避免有意或无意地读取他人的卡片,必须建立监
13、控和用户两种操作态,使其只有在监控态下才能读控制卡。通过建立一组仅能在监控态下执行的特权指令,操作系统就能保证在任何时候都能控制整个系统。多道程序批处理系统多道程序批处理系统 多道程序设计技术就是在内存中同时保持若干道程序,系统按某种调度策略交替执行这些程序,使CPU保持最少的空闲时间。 多道程序设计的主要优点是通过将用户的CPU请求和I/O请求重叠起来的办法来有效地使用CPU。它设法让CPU总有事情可做,以此来提高CPU的利用率。 多道程序批处理系统(续)多道程序批处理系统(续) 设想一台电脑配备256KB的可用内存空间(未被OS占用的),一个磁盘,一个终端和一台打印机。3个程序JOB1、J
14、OB2和JOB3,同时被提交执行,如下表所列。 JOB1 JOB2 JOB3 作业类型偏重计算偏重计算偏重计算执行时间偏重I/O偏重I/O偏重I/O所需内存偏重I/O偏重I/O偏重I/O是否需要磁盘5 min5 min5 min是否需要终端15 min15 min15 min是否需要打印机10 min10 min10 min多道程序批处理系统(续)多道程序批处理系统(续)多道程序设计在提高资源利用率方面产生的效果 单道程序设计多道程序设计处理机使用17%33%内存使用30%67%磁盘使用33%67%打印机使用33%67%经过时间30 min15 min吞吐率6 jobs/h12 jobs/h平
15、均响应时间18 min10 min分时系统分时系统 分时系统是一种由调度策略和多道程序设计技术所构成的、同时供两个或多个用户使用的一种经济实惠的系统。 分时系统的主要优点是:当程序正在执行时,允许用户与计算机交互,从而大大缩短了系统的响应时间,增加了用户调试程序和控制程序运行的灵活性。分时系统(续)分时系统(续)分时系统通常采用的实现方法是:先对每一用户作业分定一个时间片分定一个时间片,再按轮转方按轮转方式来执行式来执行这些作业。用户作业可以继续运行直至其时间片执行完或发生一个(I/O)中断,才暂停此作业的运行而让另一作业运行,暂停的作业则等到再次轮到它时又可继续运行下去,系统中的作业都用这种
16、方式轮转执行。 实时系统实时系统实时系统是在响应时间方面有严格制约响应时间方面有严格制约的专用系统。实时系统与其他普通的系统之间的最大不同之处就是要满足处理与时间的关系。 实时系统与分时系统的区别在于:在分时系统中,快速响应是需要的,但不是必需的;在实时系统中,处理事务必须在适合于此系统的特定时间限额内完成。 实时系统(续)实时系统(续)实时操作系统主要是为联机实时任务服务的,相比分时系统它有其自身的特点:n(1)与分时系统一样具有多路性和独立性。 n(2)对外部实时信号必须能及时响应,响应的时间间隔要足以控制发出实时信号的那个环境。n(3)整体性强。 n(4)有交互性,但这里人与系统的交互仅
17、限于访问系统中某些特定的专用服务程序。n(5)要求有高可靠性和安全性,系统的效率则放在第二位。 分布式操作系统分布式操作系统分布式系统中的客户/服务器(client/server)模型n位置透明性分布式操作系统(续)分布式操作系统(续)n “一个分布式系统是若干个独立的计算机的集合,但是对该系统的用户来说,系统就像一台计算机一样。”n硬件方面:各个计算机都是自治的 n软件方面:用户将整个系统看作是一台计算机 1.3操作系统的主要研究课题操作系统的主要研究课题进程描述和控制内存管理并发控制调 度I/O 管理文件管理安全性网络与分布计算操作系统的主要成就操作系统的主要成就操作系统是现有软件系统中最
18、复杂的系统软件之一。到目前为止,操作系统已取得了5项主要成就:进程、内存管理、信息的保护与安全性、调度与资源管理、系统结构。 。 进程进程n进程是操作系统结构的基础。进程就是:可并发执行的程序在一个数据集合上的运行过程。进程由以下3部分组成: 一个可执行的程序; 该程序所需的相关数据(变量、工作空间,缓冲区等); 该程序的执行上下文(Context)。典型的进程实现典型的进程实现 ibh进 程 索 引上 下 文进 程 表 列内 存 数 据程 序上 下 文数 据程 序j进 程A进 程Bi寄 存 器P C基 址 寄 存 器b限 制 寄 存 器h 其 他 寄 存 器进程管理进程管理nshell语言编
19、写的命令执行器:while (TRUE) /* repeat forever */ type_prompt( ); /* display prompt */ read_command (command, parameters)/* input from terminal */ if (fork() != 0) /* fork off child process */ /* Parent code */ waitpid( -1, &status, 0);/* wait for child to exit */ else /* Child code */ execve (command,
20、parameters, 0);/* execute command */ 进程管理进程管理n进程树( process tree)n进程A 创建两个子进程: B和 CnB 又创建三个子进程: D, E,和 F进程调度与同步进程调度与同步(a) 潜在死锁 (b) 实际的死锁.进程间通信(进程间通信(IPC)连接两个进程的管道( pipe)存储管理存储管理操作系统的5条存储管理原则:n进程隔离。 n自动分配和管理。 n支持组件编程。 n长时间存储。 n保护和存取控制。 看待存储系统的两种不同观点虚 拟 处 理 器读 、 写复 制文 件虚 拟 存 储 器长 期 存 储 设 备(b) (b) 操作系统设
21、计者观点操作系统设计者观点实 际 处 理 器虚 拟 地 址映 射 器(地 址 转 换 器 )存 储 器地 址内 存交 换辅 存(a) (a) 用户观点用户观点存储管理(续)存储管理(续)n进程的三种段: text, data, stack文件管理文件管理计算机系的文件系统结构信息保护和安全性信息保护和安全性n同计算机系统和存储在其中的信息的存取控制有关的4种保护策略: 不共享。 共享原始程序或数据文件。 无存储子系统。 控制信息的分布。 信息保护和安全性(续)信息保护和安全性(续)n同操作系统有关的安全和保护工作可分为以下3类: 访问控制。 信息流控制。 确认。 调度和资源管理调度和资源管理
22、操作系统的核心任务之一就是管理各种可获得的资源以及合理地调度它们。任何资源分配和调度策略都必须考虑公平性、不同敏感性以及效率。操作系统的系统调用操作系统的系统调用进程管理POSIX操作系统操作系统文件操作文件操作目录管理目录管理其它的系统调用其它的系统调用Win32API调用调用第一章 分布式系统概述v分布式系统有很多不同的定义,但没有一个是令人满意或者能够被所有人接受的。介绍分布式系统,对它的特点进行大致的描述就足够了:一个分布式系统是一些独立的计算机的集合,但是对该用户来说,系统就像一台计算机一样。这个定义有两方面的含义:一,从硬件角度来说,每台计算机都是自主的:二,从软件角度来讲,用户将
23、整个系统视为一台计算机。这两者都是必需的,缺一不可。11什么是分布式系统?集中式系统集中式系统Sun ULTRA5 with 32GB disk6 UnitsEathernet Switch100MSun ULTRA1032GB diskOne unitNOW(Network of Workstations)TheGrid网格是一个集成的计算与资源环境,或者说一个计算资源池。网格是一个集成的计算与资源环境,或者说一个计算资源池。网格能够充分吸纳各种计算资源,并把它们转成一种随处可得网格能够充分吸纳各种计算资源,并把它们转成一种随处可得的,可靠的,标准的,经济的计算能力。的,可靠的,标准的,经济
24、的计算能力。计算资源包括各种类型计算机,网络通信能力,数据资料,仪计算资源包括各种类型计算机,网络通信能力,数据资料,仪器设备,甚至人等各种相关资源。器设备,甚至人等各种相关资源。网格计算是基于网格的问题求解。网格计算是基于网格的问题求解。Internetn增长和变更极为迅速增长和变更极为迅速n每每2 2小时诞生小时诞生1 1台新的台新的3 3W W服务器服务器n19931993年年:130:130万台万台n20002000年年:7:7千千2 2百万台百万台n20052005年年1 1月月:3:3亿亿1 1千万千万台台n20092009年年1 1月月:6:6亿亿2 2千万千万台台P2P计算计算
25、n对等的、自主的实体构成对等的、自主的实体构成的自组织系统,以共享分的自组织系统,以共享分布资源的使用布资源的使用nCPU CPU 共享共享: : SETIHomeSETIHomen存储空间(文件)共享存储空间(文件)共享: : Napster, Gnutella, Napster, Gnutella, FreenetFreenet等等云计算云计算n云计算是一种基础架构管理的方法。大量计算资源云计算是一种基础架构管理的方法。大量计算资源组成组成ITIT资源池,用于动态创建高度虚拟化的资源提资源池,用于动态创建高度虚拟化的资源提供用户使用。供用户使用。n在云计算模式下,应用、数据和在云计算模式下
26、,应用、数据和ITIT资源以服务的方资源以服务的方式通过网络提供给用户使用。式通过网络提供给用户使用。普适计算普适计算n无线传感器网络:传感器节点组成的自组织(无线传感器网络:传感器节点组成的自组织(Ad hocAd hoc)网络感知、通信、计算)网络感知、通信、计算. .分布式系统定义分布式系统定义一个分布式系统组织成中间件形式,一个分布式系统组织成中间件形式,中间件层分布在多台机器上。中间件层分布在多台机器上。银行“一卡通”系统移动“神州行”系统连锁店“供应链”系统传感器网络(Sensor Network)系统企业“工作流”系统WWW系统分布式系统分布式系统优点 - 与集中式系统相比较1、
27、经济性:高的性能/价格比 GroschLaw: Power Price2 NOPC vs. 大型机(mainframe)1.2 分布式系统的特点分布式系统的特点10,000台PC X 50MIPS 500,000MIPS(5千亿次/秒) 0.002ns/指令=2ps/指令0.72mm /2ps(光速:360000km/s)优点优点 - 与集中式系统相比较与集中式系统相比较3、应用的固有的分布性, 例如: 工作流4、可靠性高 多工系统的容错能力5、可扩充性强 系统演进能力(evolution)优点优点 - 与集中式系统相比较与集中式系统相比较总结:优点优点 - 与集中式系统相比较与集中式系统相比
28、较项目项目描描述述经济经济微处理机提供了比大型主机更好的性能价格微处理机提供了比大型主机更好的性能价格比比速度速度分布式系统总的计算能力比单个大型主机更分布式系统总的计算能力比单个大型主机更强强固有的分布性固有的分布性一些应用涉及到空间上分散的机器一些应用涉及到空间上分散的机器可靠性可靠性如果一个机器崩溃如果一个机器崩溃,整个系统还可以运转整个系统还可以运转渐增渐增计算能力可以逐渐有所增加计算能力可以逐渐有所增加1、支持数据共享 文件 数据库2、支持设备共享 高档打印机 海量磁盘优点优点 -与独立与独立PC机比较机比较3、P2P通信 email BBS QQ4、灵活性负载分配优点优点 -与独立
29、与独立PC机比较机比较存在的问题存在的问题1、系统和需求越来越复杂,软件和应用不断面临新的挑战。 操作系统、中间件、编程语言、工具2、网络性能的限制 QoS(带宽、速度)3、安全性 黑客、泄密、盗用、破坏Flynn分类:(1972)过去几年中人们已经提出过许多多过去几年中人们已经提出过许多多CPUCPU计算机系统计算机系统的分类方案,但却没有一种方案真正流行或者的分类方案,但却没有一种方案真正流行或者被广泛采用。在这些方案中最经常被引用的是被广泛采用。在这些方案中最经常被引用的是FlynnFlynn的分类方案,虽然它还相当不成熟。的分类方案,虽然它还相当不成熟。FlynnFlynn提出两个他认
30、为十分重要的特征:指令提出两个他认为十分重要的特征:指令流的数量和数据流的数量。流的数量和数据流的数量。1.3分布式系统的硬件结构分布式系统的硬件结构CPU指令流个数指令流个数数据流个数数据流个数硬件概念硬件概念nSISDSISD(单指令流、单数据流(单指令流、单数据流 ):():(PCPC机)机)第一类是具有单指令流、单数据流的计算机,它第一类是具有单指令流、单数据流的计算机,它被称为被称为SISDSISD(Single Instruction streamSingle Instruction stream,Single Data streamSingle Data stream)。所有传统
31、的单处理机)。所有传统的单处理机(即,那些只有一个(即,那些只有一个CPUCPU的)计算机,从个人的)计算机,从个人计算机到大型主机,都属于这一类。计算机到大型主机,都属于这一类。nSIMD (单指令流、多数据流 ) :矩阵计算机第二类是第二类是SIMDSIMD(Single Instruction streamSingle Instruction stream,Multiple Data streamMultiple Data stream),它有一个指令流和多),它有一个指令流和多个数据流。这种类型是指有一个能取一条指令的个数据流。这种类型是指有一个能取一条指令的指令单元的处理机阵列结构。
32、在这个结构中,指指令单元的处理机阵列结构。在这个结构中,指令单元取出一条指令后,操纵许多数据单元并行令单元取出一条指令后,操纵许多数据单元并行的执行这条指令,而且每个数据单元都有它自己的执行这条指令,而且每个数据单元都有它自己的数据。这种类型的计算机在用多组数据重复进的数据。这种类型的计算机在用多组数据重复进行同样的计算时是非常有用的,例如,把有行同样的计算时是非常有用的,例如,把有6464个个独立向量的所有元素累加起来。一些超级计算机独立向量的所有元素累加起来。一些超级计算机就属于就属于SIMDSIMD型。型。硬件概念硬件概念nMISD (多指令流、单数据流 ) :容错计算机(例:多工系统)
33、 第三类为MISD(Multiple Instruction stream,Single Data stream)。此类型计算机有多条指令流,一条数据流。硬件概念硬件概念nMIMD (多指令流、多数据流 ) :分布式系统MIMD(Multiple Instruction stream,Multiple Data stream),它在本质上是一组独立的计算机,每个计算机有自己的程序计数器、程序和数据。所有的分布式系统都是MIMD型。所以这种分类系统对于我们来说不是非常有用的。硬件概念硬件概念q存储器使用:共享式(shared)、私有式(private,share-nothing)多处理器系统(m
34、ulti-processors)2. 多计算机系统(multi-computers) 分布式计算机分类分布式计算机分类PPMPPPMPMM分布式计算机分类分布式计算机分类q连接方式:总线式(连接方式:总线式(Bus-based) 、交换式(、交换式(Switch-based)多处理机系统多处理机系统 多计算机系统多计算机系统总线式总线式 交换式交换式共享内存 私有内存q节点类型: 1. 同构式系统(homogeneous)单条互联网络所有处理器相同相同数量的内存2. 异构式系统(heterogeneous)不同的计算机不同的网络 分布式计算机分类分布式计算机分类(1)总线型多处理机)总线型多处
35、理机n所谓总线型是指只通过单个网络、底板、总线、电缆或其它介质将所有计算机联结起来。有线电视采用的就是与此十分类似的方案,即电缆公司在街道下面布线,所有的用户都通过分接头将他们的电视与这条总线连结起来。 (1)总线型多处理机)总线型多处理机高速缓存(cache memory): 命中率(hit rate) 缓存一致性(coherency)直写(Write-through),探听( Snoopy)缺点:有限伸缩性(0s=s-1elseblockup:ifexistblockedprocessunblockelses=s+1原子性(原子性(Atomic)同时只允许一个进程操作信号量同时只允许一个进
36、程操作信号量并发问题的解决手段:同步原语。 信号量、monitor、条件变量、Mutex多处理机操作系统(多处理机操作系统(MPOS)monitor Counter private: int count = 0; /被保护变量public: int value() return count; void incr () count = count + 1; void decr() count = count 1;管程管程 - 并发程序结构并发程序结构 原子性执行原子性执行多处理机操作系统(多处理机操作系统(MPOS)monitorCounterprivate:intcount=0;intbloc
37、ked_procs=0;conditionunblocked;public:intvalue()returncount;voidincr()/生产者生产者if(blocked_procs=0)count=count+1;elsesignal(unblocked);voiddecr()/消费者消费者if(count=0)blocked_procs=blocked_procs+1;wait(unblocked);blocked_procs=blocked_procs1;elsecount=count1;多计算机操作系统多计算机操作系统多计算机操作系统多计算机操作系统n消息传递机制(message
38、passing)n缓冲区:2个,发送者,接受者n同步点:4处,发送者(S1,S2),接收者(S3,S4)多计算机操作系统多计算机操作系统同步点同步点需要发送需要发送缓冲区?缓冲区?保证通信保证通信可靠性可靠性?S1:阻塞发送者,如果缓冲区满Yes不必要S2:阻塞发送者,如果消息未发送完No不必要S3:阻塞发送者,如果消息未被接收No必须S4:阻塞发送者,如果消息未递交给接收者No必须分布式共享内存系统分布式共享内存系统n分布在4台计算机上的页面地址空间nCPU 1引用 page 10n page 10为只读型,则可使用它的复制副本分布式共享内存系统分布式共享内存系统错误共享(false sha
39、ring)场地2场地1网络操作系统(网络操作系统(NOS)n异构系统n硬件n局部OSn远程登录ntelnetnrloginn网络文件NFSnmountn磁盘映射/gamessoftwaresharewordgraphicplayer网络操作系统(网络操作系统(NOS)典型体系结构网络操作系统(网络操作系统(NOS)n客户/服务器结构举例:两个客户一个服务器网络操作系统(网络操作系统(NOS)举例:不同的客户安装服务器文件到不同位置n客户/服务器结构中间件系统中间件系统n典型体系结构中间件系统中间件系统n中间件协议(RPC,RMI,MOM)分布式操作系统分布式操作系统n广义上定义,分布式操作系统
40、(DOS)是对分布式系统提供资源管理的软件系统。n支持进程管理、通信管理、名称管理、同步控制、复制管理、容错管理和安全控制等全部或部分功能。分布式操作系统分布式操作系统n通常表现为中间件形式。分布式操作系统分布式操作系统n单一的、全局的进程间通信机制n协议、位置n全局进程管理n创建、启动、挂起、撤销n全局文件系统n文件名、目录、操作n统一的系统调用接口开放性开放性n开放式系统n符合标准协议(语法和语义规则)n例:IDL(接口定义语言)n特点:n互操作性:不同系统可共同工作n可移植性:应用程序可在不同系统上运行n灵活性:可配置不同开发者的构件n可扩展性:可增减构件可伸缩性(可伸缩性(scalab
41、ility)指标: 规模可伸缩性 地理位置可伸缩性 管理可伸缩性限制规模可伸缩性的问题: 集中式服务(如高度机密的信息) 集中式数据(通信线路影响) 集中式算法(如,最佳路由选择)可伸缩性(可伸缩性(scalability) 限制地理可伸缩性的问题: 通信延迟 不可靠通信 集中式方案 限制管理可伸缩性的问题: 策略冲突(收费、管理、安全性)可伸缩性主要技术(可伸缩性主要技术(1) 减少通信延迟 异步通信,减少等待 胖客户,减少服务器工作量可伸缩性主要技术(可伸缩性主要技术(2)分布化(distribution)例:命名服务:域(domain),区(zone)可伸缩性主要技术(可伸缩性主要技术(
42、3) 复制和高速缓存(cache)例:Web cache服务器客户CACHE客户CACHE客户CACHE互联网可靠性可靠性 可用性(availability) “或” 相关性、“与”相关性 安全性身份认证、入侵监测 容错性硬软件冗余恢复和接管性性能能 吞吐率(throughput) TPC-C基准测试 实时性(real-time) 响应速度 并行性 细粒度并行性 粗粒度并行性四种操作系统比较四种操作系统比较项目项目多处理机多处理机OS多计算机多计算机OS网络网络OS中间件中间件OS透明度极高高低高各节点上相同OS是是否否OS副本个数1NNN通信基础共享内存消息文件具体模型资源管理全局,集中式全
43、局,分布式每个节点每个节点可伸缩性无中等有不同开放性封闭式封闭式开放式开放式1.6分布式系统的类型分布式系统的类型根据分布式系统的应用类型,可划分出3种分布式系统。n分布式计算系统:高性能科学计算n分布式信息系统:信息管理和事务处理n分布式普适系统:嵌入式应用分布式计算系统分布式计算系统n计算机集群系统n主节点:管理节点n从节点:计算节点管理程序并行组件库本地操作系统主节点主节点并行应用程序并行组件库本地操作系统子节点子节点并行应用程序并行组件库本地操作系统子节点子节点. . .分布式计算系统分布式计算系统n计算机集群系统n管理程序:系统管理和配置、作业管理n并行组件库:基于消息的通信工具n本
44、地操作系统:标准的通用OSn并行应用程序:并行执行的应用程序分布式计算系统分布式计算系统n计算机网格系统n虚拟组织:逻辑上统一的一组人或机构n资源:服务器、存储、数据库等汇集层连接层资源层光纤层应用层资源分布式计算系统分布式计算系统n计算机网格系统n光纤层:资源的接口n连接层:通信协议n资源层:管理单个资源n汇集层:对多个资源的访问n应用层:虚拟组织的应用程序n面向服务的体系结构(SOA)n开放式网格服务体系结构(OGSA)分布式信息系统分布式信息系统n事务处理系统n事务的ACID性质:原子性、一致性、隔离性和持久性n分布式或嵌套式事务:一个全局事务加上多个子事务组成n事务处理监控器客户应用程
45、序TP监控器DB服务器DB服务器DB服务器事务处理事务处理请求请求答复答复分布式信息系统分布式信息系统n企业应用集成(EAI)n将与数据库无关的应用程序进行集成n提供应用程序之间的互操作n通信中间件:RPC、RMI、MOM等通信中间件DB服务器端应用程序客户应用程序客户应用程序DB服务器端应用程序DB服务器端应用程序分布式普适系统分布式普适系统n普适计算设备n移动设备,如手机n普适应用系统n接受上下文环境变化n鼓励即席(Ad hoc)组合n认可共享是缺省值分布式普适系统分布式普适系统n智能家庭系统n家庭网络,连接所有家用电器等设备n通用即插即用(UPnP)标准n个人数据空间(data spac
46、e)管理分布式普适系统分布式普适系统n电子保健系统n身体局域网络分布式普适系统分布式普适系统n身体局域网络n网络内数据处理分布式普适系统分布式普适系统n无线传感器网络n计算能力有限n通信能力有限 电能有限第一章 分布式系统概述对于同构型分布式系统而言,组成该系统的计算机的硬件和软件是相同的或非常相似的,同时组成该系统的计算机网络的硬件和软件也是相同的或非常相似的。 对于异构型分布式系统而言,组成该系统的计算机的硬件或软件是不同的,或者组成该系统的计算机网络的硬件或软件也是不同的 。同构型与异构型分布计算系统第一章 分布式系统概述分布计算系统的异构性 的表现:分布计算系统的异构性计算机系统的异构
47、性通信网络的异构性指令系统不同数据表示方法不同机器的配置不同操作系统功能不同系统调用不同文件系统不同硬件异构性操作系统异构性程序设计语言的异构性硬件异构性:接口硬件不同、连接方法不同、通信方法不同。软件异构性:通信协议不同。分布计算系统的相关概念第一章 分布式系统概述为什么分布计算系统的异构性是不可避免的?分布计算系统已成为资源共享的重要形式。随着分布计算系统资源的增多,其他用户也希望加入系统,共享其资源。这些新的系统往往同原有系统中现有的硬件和软件不同。 由于硬件性能的提高和其价格的下降,当扩充一个分布计算系统时,人们往往会选择新型的计算机系统,而不是选择已有的设备类型。把不同的硬件和软件系
48、统结合在一起,整个系统可以得到较高的性能价格比。在这样的系统中,如果配置一些专门为某种目的设计的具有特殊系统结构的处理器,则普通的计算机也可以共享这些功能。第一章 分布式系统概述v分布计算系统的优点分布计算系统的优点 可扩充性。不必像单机系统那样替换整个系统,分布计算系统容易通过扩大规模以包括更多的资源。 高的性能/价格比。在分布计算系统中,可以通过增加计算机的数目,提高并行程度而得到所需要的性能,从而可以获得很高的性能/价格比。 资源共享。系统中的硬件和软件资源如外部设备、文件系统和数据库等可以被更多的用户所共享,甚至连CPU和内存等资源也可被共享。 可靠性。分布计算系统具有在系统中当某个部
49、分出现了故障的情况下继续运行的潜力。 支持固有的分布式应用。分布计算系统与许多应用场合相适应,如银行、铁路等本来就分散而又必须相互协调的行业。 第一章 分布式系统概述v分布计算系统的新问题分布计算系统的新问题 资源的多重性带来的问题。由于处理资源的多重性,分布计算系统可能产生的差错类型和次数都比集中式单机系统多。资源多重性还给系统资源管理带来新的困难。 资源的分散性带来的问题。分布式的状态信息和不可预知的报文延迟使得系统的控制和同步问题变得很复杂,要想及时地、完整地搜集到系统各方面的信息是很困难的,从而使处理机进行最佳调度相当困难。系统的异构性带来的问题。在异构性分布计算系统中,由于各种不同资
50、源(特别是计算机和网络)的数据表示和编码、控制方式等均不相同,这样一来就产生了翻译、命名、保护和共享等新问题。 第一章 分布式系统概述v透明性的概念透明性的概念透明性:事物本来存在某种属性,但是这种属性从某种角度上来看是不可见的,称这种特性为透明性。 分布计算系统的透明性:用户或程序员看不见网络的存在。这样从用户或程序员的角度看来,网络中的全部机器表现为一个,用户或程序员看不到机器的边界和网络本身。用户不必知道数据放在什么地方以及进程在何处执行。 分布计算系统的透明性表现:名字透明。名字透明指的是对象的命名在全局是唯一的,不管在什么地方访问该对象使用的名字都是一样的。这样一来,在系统中移动一个
51、程序不影响它的正确性。 位置透明。位置透明指的是资源的名字中不包含该资源的位置信息。这样一来,当该资源在系统中移动时,在资源名字保持不变的情况下,原有的程序都可正常运行。 访问透明。用户不用区分本地资源还是远程资源,访问本地资源和访问远程资源的方法是一样的。 迁移透明。迁移透明指的是用户不知道一个资源或者他的作业是否迁移到另外一个位置。迁移透明需要名字透明的支持。 复制透明。复制透明允许文件或其他对象的多个副本同时在系统中存在,但是这种情况对用户是透明的,对对象的修改应同时作用在对象的所有副本上。 第一章 分布式系统概述并发和并行透明。多个进程可能并发或并行访问同一个资源,或一个进程同时使用多
52、个资源,在此情况下不会产生相互干扰和破坏。 失效透明。系统中的某一部分失效时,整个系统不会失效,仍可正常运行。 第一章 分布式系统概述第一章 分布式系统概述分布计算系统具有透明性时有以下一些优点: 使软件的研制变得容易,因为访问资源的方法只有一种,软件的功能与其位置无关。 系统的某些资源变动时不影响或较少影响应用软件。 系统的资源冗余(硬件冗余和软件冗余)使操作更可靠,可用性更好。透明性使得在实现这种冗余的时候,各种冗余资源的互相替换变得容易。 在资源操作方面,当把一个操作从一个地方移到若干其他地方时没有什么影响。 第一章 分布式系统概述v影响透明性的因素影响透明性的因素 系统的异构性对透明性
53、的影响 :不同方法实现的异构性系统具有不同的透明性。通过网络服务松散集成。对于包含有很多机种,而每个机种又只有很少几台机器的系统,早期常使用这种方式实现。这种方法是让系统不透明地使用一些基本设施(如远程过程调用、命名、访问权限检查)和服务设施(如文件系统、邮件系统、打印机和远程计算等),用简单的用户程序和复杂的服务程序构成整个系统。这种系统不具有透明性。 在已有的多个系统上加入前端软件。例如当使用若干个人计算机访问一个现存的公用数据库时,可以在这些个人计算机上加入一个数据库协议软件,从而可以在此系统中的个人计算机上使用该数据库。 共享不同语言的程序。如果一个系统中的每个机种有很多机器,则常采用
54、这种方法。这种方法提供一些设施,使得用根本不同的语言编写的程序能够共享。特别是一种语言程序可以用透明的方式调用另一种语言的程序。第一章 分布式系统概述聚合(Coherence)法。这种方法是定义一个软件层,使其保持一致,并在各种不同硬件上实现。这个软件层可以在逻辑上集中的文件服务层上实现,也可以在应用程序接口上实现。这种方法适用于机种不多,但是每种机器的数目很大的系统。 使用透明的操作系统桥。这种方法就是在本地系统上拦截操作系统的调用,并将相应的调用传递给远程系统的服务进程付诸实现。本地程序直接调用远程进程,在本地和远程进程间进行通信,由远程进程直接访问所需文件。采用这种方法必须为每对操作系统
55、设计桥软件,因此这种方法适用于操作系统种类不多的环境。 第一章 分布式系统概述第一章 分布式系统概述局部自治性对透明性的影响局部自治性对透明性的影响:分布计算系统由分散在各地点的一批计算机组成,这些地点可能希望保持对处在该地点的机器的控制权,这种局部自治性限制了全局透明性。 资源控制方面。由分布计算系统连接的各机器是由不同的用户所操作,或由一个机关的不同部门控制,希望在资源的使用上有较大的控制权。因此,必须有一种手段解决这个问题,在透明性和局部自治性之间进行折衷。 命名方面。即使同型号的机器,不同的用户也可能以不同的方式形成他们的目录,例如FORTRAN程序库在某个机器上使用某个名字,而在另一
56、台机器上可能使用另一个名字,造成不透明。 第一章 分布式系统概述网络互连对透明性的影响网络互连对透明性的影响 :很多网络连接了不同厂商提供的不同系列的计算机,要实现透明性必须修改这些机器的软件,这是很不实际的。 现在的网络一般是直接从早期网络结构发展来的,其最重要的功能是通信,并未考虑到分布计算。 远程网络一般是很昂贵的资源,其特征是低带宽或高延迟,或者二者兼有,因此,很多人认为应当使这种资源的应用成为可见的(不透明的)。 第一章 分布式系统概述v分布计算系统和计算机网络系统有什么区别呢? 如果用户能说明他在使用哪一个计算机,则他是在使用一个计算机网络系统而不是分布式系统。一个真正的分布计算系
57、统的用户不必知道他的程序在哪个机器上运行,他的文件在哪里存放,等等。使分布计算系统具有这种性质的是它的软件:分布式操作系统。 从计算机网络系统上所运行的操作系统软件来分,计算机网络系统的发展可分为三个阶段:无操作系统阶段、运行网络操作系统阶段和运行分布式操作系统阶段。 第一章 分布式系统概述网络操作系统一般具有以下特点: 每个计算机都运行自己的操作系统,而不是运行共同的、全系统范围的操作系统或其一部分。 每个用户通常在自己的计算机上以“远程登录”的方式或其他明确指出的方式使用不同的机器,而不是由系统给用户进程分配计算机,因而不能并行执行某个程序。 用户知道他们的文件存放在哪里,在机器之间移动文
58、件时必须明确地使用“文件传送”命令。 系统没有容错能力,或者仅具有很少的容错能力。 第一章 分布式系统概述分布计算系统应达到的目标:程序(进程)、终端用户或程序员对全部分布资源应该有一个唯一的连贯的观点,不必明确地知道所需资源是在本地、远程或是分散的,主机之间的边界应尽可能隐匿。 在性能方面,NOS结构的实现是有效的、可用的。本地用户进程访问本地服务时应象单机操作系统一样有效,不增加额外数目和类型的报文或系统调用。 可扩充性。用户很容易在现存服务上增加新的服务而不必要求系统程序员增加新的驻存程序,正如在单机系统上增加新的服务不必要求修改现有的操作系统。 第一章 分布式系统概述v区分计算机网络系
59、统与分布计算系统区分计算机网络系统与分布计算系统 从文件系统的访问方法上区分 :没有操作系统的访问方法。计算机A上的程序将B上的文件复制到A上来,然后再在A上访问此文件。 有网络操作系统的访问方法。这种方法是把不同的文件系统连接起来,一个机器上的程序可以使用路径名打开另一个机器上的文件,只是这个路径名中包含了另一个机器的信息。 如:open(“/machine_name/pathname”,READ); 分布计算系统使用的方法。在这种方法中,所有各子系统的文件系统组成一个整体文件系统。 第一章 分布式系统概述从访问控制方面区分 UNIX和其他许多操作系统给每个用户赋予一个唯一的内部标识符(UI
60、D),以利于访问控制。 没有网络操作系统下的情况。这种办法要求所有要访问机器X上的文件的用户先使用属于机器X的用户名在机器X上登录。 有网络操作系统下的情况。在这种办法中,由网络操作系统对不同机器上的UID进行变换。 在分布式操作系统下的情况。在分布计算系统中,对每个用户只设一个UID,使用它可以访问任何机器,不必经过变换。 第一章 分布式系统概述是否区分本地执行和远程执行方面判断 :在没有网络操作系统的计算机网络系统中,用户要远程执行一个程序时,该用户先远程登录到一个远程机器上,然后在那里运行作业。 2)在有网络操作系统的计算机网络系统中,用户在自己的终 端上输入一个特殊的命令,指定一个机器运行一个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 森林消防监督管理课件
- 森林安全知识培训内容课件
- 风湿免疫试题及答案解析
- 调度员考试试题及答案
- 2025年项目经理实战技能测试模拟题及答案
- 2025年高考语文阅读理解训练题目集
- 2025年财务管理专业资格认证考试模拟题集与答案详解
- 2026届河南省六市化学高三第一学期期中联考试题含解析
- 桑果苗春季养护知识培训课件
- 2025年继电保护员中级考试重点难点解析
- 超声引导下神经阻滞
- 2024建筑施工高处作业安全技术规范
- 线束生产控制计划CP实例
- 卫生院风险评估结果报告
- 单片机原理及应用课件
- 低压出线柜安装施工方案
- 4s店汽车维修配件管理制度
- 持续质量改进在中长导管护理中的应用及并发症的预防
- 新建砖砌台阶施工方案
- 拆除围墙砖石结构施工方案
- 普速《铁路技术管理规程》普速铁路部分
评论
0/150
提交评论