(新编)第一章绪论

上传人:博****1 文档编号:571769050 上传时间:2024-08-12 格式:PPT 页数:81 大小:1.72MB
返回 下载 相关 举报
(新编)第一章绪论_第1页
第1页 / 共81页
(新编)第一章绪论_第2页
第2页 / 共81页
(新编)第一章绪论_第3页
第3页 / 共81页
(新编)第一章绪论_第4页
第4页 / 共81页
(新编)第一章绪论_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《(新编)第一章绪论》由会员分享,可在线阅读,更多相关《(新编)第一章绪论(81页珍藏版)》请在金锄头文库上搜索。

1、Lecture 1-1分布式系统分布式系统孙春奇孙春奇 硬件基础教研室硬件基础教研室Lecture 1-2参考教材参考教材分布式原理与规范分布式原理与规范 清华大学出版社清华大学出版社分布式系统设计分布式系统设计 机械工业出版社机械工业出版社分布式系统概念与设计分布式系统概念与设计机械工业出版社机械工业出版社Lecture 1-3课程安排课程安排分布式系统概述分布式系统概述网络基础及进程间通讯网络基础及进程间通讯分布式系统安全分布式系统安全分布式系统时间和全局状态分布式系统时间和全局状态分布式系统协调和协定分布式系统协调和协定故障和故障检测故障和故障检测复制复制事务和事务的并发控制事务和事务的

2、并发控制分布式事务分布式事务Lecture 1-4Content1.1为什么需要分布式系统?1.2分布式系统的相关概念1.3分布式系统的优点和新问题1.4分布式系统的透明性1.5分布式系统的体系结构与设计1.6分布式系统的软件设计Lecture 1-5Can you name some examples of Operating Systems?Linux WinXP Unix FreeBSD Mac2K Aegis Scout Hydra Mach SPINOS/2 Express Flux Hope SpringAntaresOS EOS LOS SQOS LittleOS TINOSPa

3、lmOS WinCE TinyOSLecture 1-6What is an Operating System?User interface to hardware (device driver)Provides abstractions (processes, file system)Resource manager (scheduler)Means of communication (networking)Lecture 1-71.1 为什么需要分布式系统?v促进分布式系统发展的两大技术:计算机硬件技术和软件技术的发展;计算机网络技术的发展。v两大技术改变了人们使用计算机的方式:50年代,

4、预约上机,占用全部资源;60年代,批处理技术;70年代,分时系统,多用户同时使用一台计算机;80年代,个人计算机,每个用户有专用计算机;90年代至今,通过计算机网络使用多台计算机。Lecture 1-8各种计算形式单机计算利用单台计算机(如微机)进行计算。此时计算机不与任何网络互连,因而只能使用本计算机系统内可被即时访问的所有资源。该计算形式亦称为单机计算在最基本的单机计算模式中,一台计算机在任何时刻只能被一个用户使用。用户在该系统上执行应用程序,不能访问其他计算机上的任何资源,这样的计算称为单用户单机计算多用户也可参与单机计算。该计算形式中,并发用户可通过分时技术共享使用单台计算机中的资源。

5、为区别小型计算机、微型计算机等较小规模计算机,通常将提供集中式资源服务的计算机称为大型机。用户可通过终端设备与大型机系统相连,并在终端会话期间与之交互。Lecture 1-9集中式计算终 端大型机用户共享一台计算机可以访问所有资源单一时钟单一系统控制单一地理位置单一故障点 Lecture 1-10网络计算以网络环境为中心的计算,它通过网络将地理上分散的、异构的计算机系统连接起来,充分发挥各个自治系统的计算能力,以实现资源共享、协调工作和联合计算,为用户提供各种基于网络的服务。从应用模式的角度看,网络计算包括的内容十分丰富,有以网络为基础的分布式计算,高性能并行计算,方便灵活的移动计算,丰富多彩

6、的多媒体计算,复杂多变的电子商务等事务处理,以及管理、模拟、控制类的智能计算等。元计算:基于Internet的计算已成为IEEE计算机学会/ACM联合工作小组的一个关键领域Lecture 1-11分布式计算通过网络互连的多台计算机上执行的计算,将一组地理位置分布的计算机通过网络连接在一起,紧密配合,共同完成一个任务。对于分布式系统中的用户来讲,系统就象一台计算机一样。从硬件角度来讲,每台计算机都是自主的,都有自己的处理器及其他资源,用户可以通过工作站完全使用与其互连的计算机上的资源;从软件角度来讲,用户将整个系统看作是一台计算机。通过与本地计算机及远程计算机交互,用户可访问远程计算机上的资源,

7、如:WWWLecture 1-12一组由网络互联的、自治的计算机和资源资源为用户所共享可以集中控制,也可以分布控制计算机可以同构,也可以异构分散的地理位置分布式故障点没有全局时钟没有共享内存(大多数情况)Lecture 1-13并行计算亦称并行处理,它采用多个处理器来并行执行单个程序并行计算通常在一台多处理器计算机上执行并行计算也可“通过在网络上互连多个计算机来执行并行处理(PCCluster),但这种类型的计算需要非常复杂的分布式并行处理软件来支持采用并行计算,可以解决那些通过单台计算机无法解决的问题,或那些采用别的方式会导致高代价的计算敏感型问题。Lecture 1-14v多计算机系统环境

8、带来的新问题:在使用上,用户必须知道本地对象和远程对象的区别;在管理上,管理人员不能四处奔走进行文件备份等操作。v解决上述新问题的方法是实现分布式操作系统在分布式系统中,多台计算机构成一个完整的系统,其行为类似一个单机系统。分布式操作系统是实现分布式系统的核心。Lecture 1-15Can you name some examples of Distributed Systems?Client-server (e.g., NFS)The InternetThe WebAn ad-hoc networkA sensor networkDNSKazaa (peer to peer overlay

9、s)Titan Lander-Orbiter-Earth Station(Society?)(Food Chain?)Lecture 1-161.2 分布式系统的相关概念v什么是分布式系统A distributed system is a collection of independent computers that appear to the users of the system as a single computer Andrew Tanenbaum A distributed system is several computers doing something together.

10、 Thus, a distributed system has three primary characteristics: multiple computers, interconnections, and shared state Michael Schroeder 一个分布式系统是一组由网络联接的具有独立功能的计算机,在一套特殊软件的管理下,整个系统在用户面前呈现为一个透明的整体。李西宁李西宁 Textbook definitionsLecture 1-17UnsatisfactoryWhy are these definitions short? Why do these defini

11、tions look inadequate to us?Because we are interested in the insides of a distributed systemdesign and implementationmaintenancestudyalgorithmicsLecture 1-18(A)PlantsandAnimalsinteractingintheFoodChainWhich is a Distributed System (A) or (B)?(A)Lecture 1-19(B)TheInternet(InternetMappingProject,color

12、codedbyISPs)(B)Lecture 1-20A working definition for us分布式系统,又叫分布式计算机系统,或分布计算系统,是由多个相互连接的处理资源组成的计算系统,它们在整个系统的控制下可合作执行一个共同的任务,最少依赖于集中的程序、数据和硬件。这些处理资源可以是物理上相邻的,也可以是在地理上分散的。分布式系统定义的说明:1)系统是由多个处理器或计算机系统组成(aprocess on a device (PC, PDA)2)两类结构:这些计算资源可以是物理上相邻的、由机器内部总线或开关连接的处理器,通过共享主存进行通信;这些计算资源也可以是在地理上分开的、由

13、计算机通信网络(远程网或局域网)连接的计算机系统,使用报文(message)进 行 通 信 (Communication Medium=Wired or wireless network)Lecture 1-21分布式系统定义的说明:3)这些资源组成一个整体,对用户是透明的,即用户使用任何资源时不必知道这些资源在哪里。4)一个程序可分散到各个计算资源上运行;5)各个计算机系统地位平等,除了受全系统的操作系统控制外,不存在主从控制和集中控制环节。指把多个处理机通过线路互连而构成的系统,系统的处理和控制功能分布在各个处理机上,可协作执行某个任务的独立计算机集合。在分布式系统中,系统的处理和控制功能

14、,都分散在系统的各个处理单元上。系统的所有任务,也可动态地被分配到各个处理单元上去,使它们并行执行,实现分布处理。Lecture 1-22分布式系统的发展简史系统名称系统名称组织机构组织机构网络要求网络要求计算机计算机研制日期研制日期CM*卡内基卡内基.梅隆大梅隆大学学层次总线层次总线PDP1975Cambridge DCS剑桥大学剑桥大学剑桥环剑桥环LSI-41979Locus加州大学加州大学洛杉矶分校洛杉矶分校以太网以太网PC1980V System斯坦佛大学斯坦佛大学以太网以太网Sun1982Mach卡内基卡内基.梅隆大学梅隆大学以太网以太网Sun, PC1985CORBAOMG互联网互

15、联网任何机器任何机器1990DistributedCOM微软公司微软公司互联网互联网PC1996JINISunMicrosystems互联网互联网任何机器任何机器2000Lecture 1-23杀手应用:以计算为主的问题 (分布式计算): 数学计算,环境模拟,生物和仿生,经济和财政模型,气象预报,动画制作, 以数据为主的问题 (分布式数据): 数据挖掘, 信息检索,保险分析,图像处理, 以通信为主的问题 (网络应用): 事务处理,电子商务,远程文件交换,电子信件, Lecture 1-24经典分布式应用:rloginortelnet (远程访问)网络文件系统ATM(银行自动取款机)分布式数据库

16、WWW(万维网)全球定位系统自动售货终端机航空管制系统网络拍卖系统Lecture 1-25intranetISP desktop: backbonesatellite linkserver:%network link:%Distributed System Example - the Internet Lecture 1-26SETI:搜索外星人n探索外星文明n射电天文望远镜:Arecibo(305m)n地理位置:PuertoRico(波多黎各)n接收4,000,000无线电波段n下载屏保程序作数据分析n中央控制系统分布数据nUCBerkeleyLecture 1-27D RC5n破译RSA实

17、验室给出的密码,找出密钥n奖金:$10,000美元nRC_56:250天破译(1997)nRC_64:1,757天破译(2002)nRC_72:?n例如:RC_64采用64位密钥,一共有18,446,744,073,709,551,616可能的密钥组合n有上百万台计算机参与这个项目Lecture 1-28CERN:欧洲核研究组织nCERN是世界上最大的核物理研究中心,科学家们试图通过对粒子的研究寻找宇宙的起源。n正在建造一台大型强子碰撞机:LargeHadronCollider(2007)n可能产生的数据:10,000,000GBn需要20,000,000张CD来存储n解决方法:网格计算,IB

18、M分布式虚拟存储和文件管理技术Lecture 1-291.2 分布式系统的相关概念v同构型与异构型分布式系统 对于同构型分布式系统而言,组成该系统的计算机的硬件和软件是相同的或非常相似的,同时组成该系统的计算机网络的硬件和软件也是相同的或非常相似的。 对于异构型分布式系统而言,组成该系统的计算机的硬件或软件是不同的,或者组成该系统的计算机网络的硬件或软件也是不同的 。Lecture 1-301.2 分布式系统的相关概念分布式系统的异构性 的表现:分布式系统的异构性计算机系统的异构性通信网络的异构性指令系统不同数据表示方法不同机器的配置不同操作系统功能不同系统调用不同文件系统不同硬件异构性操作系

19、统异构性程序设计语言的异构性硬件异构性:接口硬件不同、连接方法不同、通信方法不同。软件异构性:通信协议不同。Lecture 1-311.2 分布式系统的相关概念为什么分布式系统的异构性是不可避免的?1)分布式系统已成为资源共享的重要形式。随着分布式系统资源的增多,其他用户也希望加入系统,共享其资源。这些新的系统往往同原有系统中现有的硬件和软件不同。 2)由于硬件性能的提高和其价格的下降,当扩充一个分布式系统时,人们往往会选择新型的计算机系统,而不是选择已有的设备类型。3)把不同的硬件和软件系统结合在一起,整个系统可以得到较高的性能价格比。在这样的系统中,如果配置一些专门为某种目的设计的具有特殊

20、系统结构的处理器,则普通的计算机也可以共享这些功能。Lecture 1-321.3 分布式系统的优点和新问题v分布式系统的优点 可扩充性。不必像单机系统那样替换整个系统,分布式系统容易通过扩大规模以包括更多的资源。 高的性能/价格比。在分布式系统中,可以通过增加计算机的数目,提高并行程度而得到所需要的性能,从而可以获得很高的性能/价格比。 资源共享。系统中的硬件和软件资源如外部设备、文件系统和数据库等可以被更多的用户所共享,甚至连CPU和内存等资源也可被共享。 可靠性。分布式系统具有在系统中当某个部分出现了故障的情况下继续运行的潜力。 支持固有的分布式应用。分布式系统与许多应用场合相适应,如银

21、行、铁路等本来就分散而又必须相互协调的行业。 Lecture 1-331.3 分布式系统的优点和新问题v分布式系统的新问题:构建能正确运行的系统相当困难 资源的多重性带来的问题。由于处理资源的多重性,分布式系统可能产生的差错类型和次数都比集中式单机系统多。资源多重性还给系统资源管理带来新的困难。 资源的分散性(局部性)带来的问题。分布式的状态信息和不可预知的报文延迟使得系统的控制和同步问题变得很复杂,要想及时地、完整地搜集到系统各方面的信息是很困难的,从而使处理机进行最佳调度相当困难。系统的异构性带来的问题。在异构性分布式系统中,由于各种不同资源(特别是计算机和网络)的数据表示和编码、控制方式

22、等均不相同,这样一来就产生了翻译、命名、保护和共享等新问题。 Lecture 1-34分布式计算的缺点软件较少较复杂,没有单一的计算模型,缺乏统一的控制,难以合理设计分配策略,存在部分失效问题通信网络问题性能和可靠性过分依赖于网络,具有潜在的通信瓶颈安全性方面脆弱的安全性,如:非授权用户的攻击Lecture 1-351.4 分布式系统的透明性v 透明性的概念透明性:事物本来存在某种属性,但是这种属性从某种角度上来看是不可见的,称这种特性为透明性。 分布式系统的透明性:用户或程序员看不见网络的存在。这样从用户或程序员的角度看来,网络中的全部机器表现为一个,用户或程序员看不到机器的边界和网络本身。

23、用户不必知道数据放在什么地方以及进程在何处执行。 分布式系统的透明性表现:1)名字透明。名字透明指的是对象的命名在全局是唯一的,不管在什么地方访问该对象使用的名字都是一样的。这样一来,在系统中移动一个程序不影响它的正确性。 2)位置透明。位置透明指的是资源的名字中不包含该资源的位置信息。这样一来,当该资源在系统中移动时,在资源名字保持不变的情况下,原有的程序都可正常运行。 3)访问透明。用户不用区分本地资源还是远程资源,访问本地资源和访问远程资源的方法是一样的。 4)迁移透明。迁移透明指的是用户不知道一个资源或者他的作业是否迁移到另外一个位置。迁移透明需要名字透明的支持。 5)复制透明。复制透

24、明允许文件或其他对象的多个副本同时在系统中存在,但是这种情况对用户是透明的,对对象的修改应同时作用在对象的所有副本上。 6)并发和并行透明。多个进程可能并发或并行访问同一个资源,或一个进程同时使用多个资源,在此情况下不会产生相互干扰和破坏。 7)失效透明。系统中的某一部分失效时,整个系统不会失效,仍可正常运行。 Lecture 1-36Design Challenges: TransparencyConcealment of the separation of components from users:Access transparency: local and remote resourc

25、es can be accessed using identical operations.Location transparency: resources can be accessed without knowing their whereabouts.Concurrency transparency: processes can operate concurrently using shared resources without interferences.Failure transparency: faults can be concealed from users/applicat

26、ions.Mobility transparency: resources/users can move within a system without affecting their operations.Performance transparency: system can be reconfigured to improve the performance.Scaling transparency: system can be expanded in scale without change to the applications.Lecture 1-37分布式系统具有透明性时有以下一

27、些优点: 1)使软件的研制变得容易,因为访问资源的方法只有一种,软件的功能与其位置无关。 2)系统的某些资源变动时不影响或较少影响应用软件。 3)系统的资源冗余(硬件冗余和软件冗余)使操作更可靠,可用性更好。透明性使得在实现这种冗余的时候,各种冗余资源的互相替换变得容易。 4)在资源操作方面,当把一个操作从一个地方移到若干其他地方时没有什么影响。 Lecture 1-38v影响透明性的因素 系统的异构性对透明性的影响 :不同方法实现的异构性系统具有不同的透明性。1)通过网络服务松散集成。对于包含有很多机种,而每个机种又只有很少几台机器的系统,早期常使用这种方式实现。这种方法是让系统不透明地使用

28、一些基本设施(如远程过程调用、命名、访问权限检查)和服务设施(如文件系统、邮件系统、打印机和远程计算等),用简单的用户程序和复杂的服务程序构成整个系统。这种系统不具有透明性。 2)共享不同语言的程序。如果一个系统中的每个机种有很多机器,则常采用这种方法。这种方法提供一些设施,使得用根本不同的语言编写的程序能够共享。特别是一种语言程序可以用透明的方式调用另一种语言的程序。3)在已有的多个系统上加入前端软件。例如当使用若干个人计算机访问一个现存的公用数据库时,可以在这些个人计算机上加入一个数据库协议软件,从而可以在此系统中的个人计算机上使用该数据库。 4)使用透明的操作系统桥。这种方法就是在本地系

29、统上拦截操作系统的调用,并将相应的调用传递给远程系统的服务进程付诸实现。本地程序直接调用远程进程,在本地和远程进程间进行通信,由远程进程直接访问所需文件。采用这种方法必须为每对操作系统设计桥软件,因此这种方法适用于操作系统种类不多的环境。 5)聚合(Coherence)法。这种方法是定义一个软件层,使其保持一致,并在各种不同硬件上实现。这个软件层可以在逻辑上集中的文件服务层上实现,也可以在应用程序接口上实现。这种方法适用于机种不多,但是每种机器的数目很大的系统。 Lecture 1-39局部自治性对透明性的影响:分布式系统由分散在各地点的一批计算机组成,这些地点可能希望保持对处在该地点的机器的

30、控制权,这种局部自治性限制了全局透明性。 1)资源控制方面。由分布式系统连接的各机器是由不同的用户所操作,或由一个机关的不同部门控制,希望在资源的使用上有较大的控制权。因此,必须有一种手段解决这个问题,在透明性和局部自治性之间进行折衷。 2)命名方面。即使同型号的机器,不同的用户也可能以不同的方式形成他们的目录,例如FORTRAN程序库在某个机器上使用某个名字,而在另一台机器上可能使用另一个名字,造成不透明。 Lecture 1-40网络互连对透明性的影响 :1)很多网络连接了不同厂商提供的不同系列的计算机,要实现透明性必须修改这些机器的软件,这是很不实际的。 2)现在的网络一般是直接从早期网

31、络结构发展来的,其最重要的功能是通信,并未考虑到分布计算。 3)远程网络一般是很昂贵的资源,其特征是低带宽或高延迟,或者二者兼有,因此,很多人认为应当使这种资源的应用成为可见的(不透明的)。 Lecture 1-411.5 分布式系统的体系结构与设计v分布式系统的分层体系结构 分布式系统可以分成若干逻辑层,层与层之间称为接口,每层有两个接口。层所提供的功能还可进一步分割成若干模块,模块之间也有接口。接口由以下三部分组成: 1)一套可以见到的抽象对象(资源)以及对这些对象所要求的操作和参数。2)一套控制这些操作的合法顺序的规则。3)操作和参数所需要的编码和格式化约定。 Lecture 1-42计

32、算机系统结构分类利用指令流和数据流对计算机系统分类(Flynn,1966+1972)基于冯.诺伊曼模型:分离处理器和存储器SISD-单指令、单数据SIMD-单指令、多数据MISD多指令、单数据MIMD多指令、多数据Lecture 1-43Flynn Architectures (1) 数组处理机数组处理机顺序计算机顺序计算机CUPUIPU1PUnDID1DnCUCU 控制单元控制单元PU 处理单元处理单元I 指令流指令流D 数据流数据流SISDSIMDLecture 1-44Flynn Architectures (2)CU1PU1I1D1CUnPUnInDn多处理器或多处理器或多计算机系统多

33、计算机系统MIMDCU1PU1I1DCUnPUnInMISD 流水线结构流水线结构Lecture 1-45v分布式系统的体系结构 紧密耦合与松散耦合分布式系统 紧密耦合分布式系统1)连接方式:内部总线或机器内互连网络 ;2)处理资源间距离:物理上分散,相距很近;3)处理资源:处理机;4)通信方式:共享存储器。松散耦合分布式系统1)连接方式:通信网络 ;2)处理资源间距离:地理上分散,相距很远;3)处理资源:计算机系统;4)通信方式:报文交换。Lecture 1-46 紧密耦合分布式系统结构:PP开关MMM(c)开关互连,既有共享存储器,又有专用存储器P:处理机,M:主存储器PP开关M(a)开关

34、互连,只有共享存储器PPMM总线(b)总线互连,只有共享存储器多处理机系统Lecture 1-47基于总线的多机系统M1M2Mm-1MmPnPn-1P2P1MnMn-1M2M1PnPn-1P2P1(1)共享存储器总线结构(2)局部存储器总线结构Lecture 1-48基于交叉开关的多机系统通过通过N2 个交叉开关访问内存个交叉开关访问内存 MNMN-1M2M1PNPN-1P2P1.Lecture 1-49多级交叉开关结构交叉开关具备路由器功能交叉开关具备路由器功能Lecture 1-50紧密耦合分布式系统结构的特点多处理机共享内存处理机由共享总线或高速网络相连较低的网络延迟较高的网络带宽通信由

35、共享内存实现MPMPMPMPI/OShared MemoryLecture 1-51 松散耦合分布式系统结构: 基于网络的多机系统基于网络的多机系统通信网络PPPPPMMMMMP:处理机,M:主存储器多计算机系统分布式存储器消息传送式通信PC或工作站构成的网络地理分布范围较大较长的网络延迟较低的网络带宽Lecture 1-52 面向进程和报文传递的分布式系统模型 分布式进程通信子层分布式操作系统内核C1CmS1S2Sn顾客服务员C2请求回答请求回答Lecture 1-53v分布式系统的组成 分布式系统由四层组成:第一层是由硬件或固件组成的硬核第二层是分布式操作系统的内核第三层是分布式操作系统的

36、服务层第四层是和用户有关的应用层。 Lecture 1-54机器A机器B机器C网络v分布式系统的组成 DOS内核DOS内核DOS内核DOS服务层分布式应用硬核硬核硬核硬件/固件层(硬核)。该层包括处理器、主存、I/O设备、键盘、终端以及用于数据采集和物理过程控制的各种硬件设备。内核的最基本最重要的功能是进程通信(IPC),除此之外,还包括进程的同步机制、进程管理、存储管理和I/O管理等功能。分布式操作系统的服务层。这一层的作用是为各种广泛的应用提供一些基本的、共同的服务,包括实现基本的资源分配和复用。这一层包括和各种应用有关的顾客服务进程。要考虑的主要问题有两方面:应用结构问题和语言问题。Le

37、cture 1-55 Basic Concepts Asynchrony,Consensus,Routing IP,BGPLarge-scale Systems The Grid,Gnutella,KazaaDistributed File Systems NFS,AFSProtocols, e.g., multicast IP multicast, SRM, RMTPCoordinationSETIHome,Multiplayer online gamesStorage and DatabasesSecurity v分布式系统的设计问题 Lecture 1-56分布式系统应达到的目标:1)程

38、序(进程)、终端用户或程序员对全部分布资源应该有一个唯一的连贯的观点,不必明确地知道所需资源是在本地、远程或是分散的,主机之间的边界应尽可能隐匿。 2)在性能方面,NOS结构的实现是有效的、可用的。本地用户进程访问本地服务时应象单机操作系统一样有效,不增加额外数目和类型的报文或系统调用。 3)可扩充性。用户很容易在现存服务上增加新的服务而不必要求系统程序员增加新的驻存程序,正如在单机系统上增加新的服务不必要求修改现有的操作系统。 Lecture 1-57Distributed Systems Design GoalsCommon Goals:Heterogeneity can the syst

39、em handle different types of PCs and devices?Robustness is the system resilient to crashes and failures?Availability are data, services always there?Transparency can the system hide its internal workings from the users?Concurrency can the server handle multiple clients simultaneously?Efficiency is i

40、t fast enough?可伸缩Scalability can it handle 100 million nodes?Security can the system withstand hacker attacks?Openness is the system extensible? 可移植、互操作Lecture 1-58各层或很多层所共有的 设计问题:1)命名问题。标识符代表一个对象,在保护、差错控制、资源管理、资源定位、资源共享、用简单对象创建较复杂对象时,都要用到标识符。整个系统各个层次上也都使用标识符,最低层的标识符就是机器地址。名字常在局部意义上使用,也有的名字在整个系统中是唯一

41、的,这叫全局命名。命名直接影响透明性。 2)差错控制。在系统内各个层次上都要检测差错,并使系统从差错状态恢复到正确状态。不可能只使用一种差错控制机构来解决所有层的问题。分布式系统还产生一些特殊问题,如:名字可能重复使用;报文延迟、报文差错和系统故障;通信介质可能破坏差错控制信息等。 3)资源管理问题。每一层都要对用于对象表示的主存、缓冲器空间、信道访问、通信带宽、CPU机时、对硬件/固件的访问、地址空间等资源进行相应的管理。资源的分配和调度通常在本地完成,因为需要本地自治管理,此外还需要全局调度和分配。要同时达到报文低延迟和高吞吐量的目标则要求长期保留某些状态信息以及资源与功能在各层上进行预分

42、配。 4)同步问题。通常是指合作的各个进程共享资源或共享事件的机制。在分布式系统中,由于用于更新和报告状态的报文具有不可预知的延迟,合作的各个进程看到的系统状态不可能一样,即使没有差错和节点故障时也是如此。当发生差错时,问题就更复杂了。差错控制和同步之间的相互作用是很强的,当有多个节点时问题就更复杂。 5)保护问题。比起单机系统来说,保护问题在分布式系统中更为突出,因为系统在物理上是分散的,成份是异构的,控制是多重的。6)对象表示、编码和转换问题。系统中每一层都要定义一些对象,如在高层定义文件、过程和目录,在IPC层定义包等,说明它们的表示方法及编码方法。当对象从一个主机迁移到另一个主机时如果

43、在两个机器上的表示和编码不一样,则还需要进行转换。 7)测试问题。和集中式系统一样,分布式系统也存在着逻辑差错、性能差错和硬件/固件故障,需要进行测试。测试也是为了了解所采取的各种方案对性能的影响,有助于更好地了解系统是如何工作的。但在分布式系统中,由于成份的异构性、控制的多重性和状态的分散性,所以这个问题更加复杂。 Lecture 1-59Watson模型各层共同的问题(X)命名差错控制资源管理保护同步编码测试分层(Y)硬件/固件分布式操作系统内核分布式操作系统服务层应用层由应用指定的服务模糊边界服务(进程、文件、命名、同步、记帐、鉴别等)服务支持子层(资源、服务员、格式化、编码约定等)通信

44、协议各层处理机、存储器、I/O部件设备驱动程序、多路复用接口最佳资源定位全局状态一致性全局调度系统测试全局实现与最佳化问题(Z)Lecture 1-601.6 分布式系统的软件系统主要特征主要目标DOS分布式操作系统多处理器或同构多计算机紧密耦合操作系统隐蔽并且管理所有分布式资源NOS网络操作系统异构多计算机(LANandWAN)松散耦合操作系统为远程客户提供分布式服务Middleware中间件系统网络操作系统之上覆盖的分布式服务系统提供分布式透明性Lecture 1-61传统的单机操作系统在一个操作系统管理下,可能有多个并发的应用。可是在任何一个应用程序的眼光里,整个系统就好象属于它自己。从

45、这个角度看,覆盖在硬件之上的操作系统实现了一台虚机器(virtualmachine)单机操作系统单机操作系统计算机硬件进程调度设备管理存储管理文件管理应用程序应用程序Lecture 1-62分布式操作系统分布式操作系统通常用来管理多处理器或者同构多处理机,其主要目的是隐藏硬件细节,管理硬件资源,提供系统接口,使得并发进程能够共享系统资源。分布式操作系统计算机硬件进程调度设备管理存储管理文件管理分布式应用程序网络Lecture 1-63DOS之特征 将多处理器或多计算机构造成一个虚拟环境提供同构性、透明性最有效地管理网络提供全局编址和命名服务管理资源分配及共享提供同步、互斥、及死锁检测机制提供进

46、程通信机制(IPC)提供适当的安全机制典型科研分布式操作系统:Amoeba,ChorusLecture 1-64网络操作系统网络操作系统是传统操作系统的扩充,为用户提供各种交换信息和资源共享的服务。计算机硬件网络操作系统网络应用程序网络网络操作系统网络操作系统网络操作系统Lecture 1-65NOS之特征单机操作系统的扩充为远程用户提供网络服务每台计算机都有自己的操作系统(同构或异构)提供各种通信协议提供应用程序设计接口(API)系统容错能力较差简单灵活,可扩展性好,但透明性较差典型例子:UNIX,WindowsNT,2000Lecture 1-66v分布式系统和计算机网络系统有什么区别呢?

47、 如果用户能说明他在使用哪一个计算机,则他是在使用一个计算机网络系统而不是分布式系统。一个真正的分布式系统的用户不必知道他的程序在哪个机器上运行,他的文件在哪里存放,等等。使分布式系统具有这种性质的是它的软件:分布式操作系统。 从计算机网络系统上所运行的操作系统软件来分,计算机网络系统的发展可分为三个阶段:无操作系统阶段、运行网络操作系统阶段和运行分布式操作系统阶段。 Lecture 1-67从文件系统的访问方法上区分 :1)没有网络操作系统的访问方法。计算机A上的程序将B上的文件复制到A上来,然后再在A上访问此文件。 2)有网络操作系统的访问方法。这种方法是把不同的文件系统连接起来,一个机器

48、上的程序可以使用路径名打开另一个机器上的文件,只是这个路径名中包含了另一个机器的信息。 如:open(“/machine_name/pathname”,READ); 或:open(“machian_name:pathname”,READ); 或:open(“/./ machian_name:pathname”,READ); 3)分布式系统使用的方法。在这种方法中,所有各子系统的文件系统组成一个整体文件系统。 Lecture 1-68 从访问控制方面区分 UNIX和其他许多操作系统给每个用户赋予一个唯一的内部标识符(UID, 如Unix中的磁盘inode),以利于访问控制。 1)没有网络操作系统

49、下的情况。这种办法要求所有要访问机器X上的文件的用户先使用属于机器X的用户名在机器X上登录。 2)有网络操作系统下的情况。在这种办法中,由网络操作系统对不同机器上的UID进行变换。 3)在分布式操作系统下的情况。在分布式系统中,对每个用户只设一个UID,使用它可以访问任何机器,不必经过变换。 Lecture 1-69是否区分本地执行和远程执行方面判断 :1)在没有网络操作系统的计算机网络系统中,用户要远程执行一个程序时,该用户先远程登录到一个远程机器上,然后在那里运行作业。 2)在有网络操作系统的计算机网络系统中,用户在自己的终 端上输入一个特殊的命令,指定一个机器运行一个程序。 如:remo

50、te vax4 who,这个命令是让远程计算机vax4运行 程序who。3)在分布式系统中,用户执行一个程序时,只需简单的给出要执行的程序的程序名和相关的参数,并不指出在何处执行这个程序,何处执行由操作系统决定。 Lecture 1-70v基于中间件的分布式系统 机器A机器B机器C硬核硬核硬核本地OS本地OS本地OS分布式应用网络NOS服务NOS服务NOS服务中间件服务直接利用网络操作系统提供的服务编制的应用程序很难具有很高的透明度。中间件的一个重要目标是为应用程序隐匿底层平台的异构性。许多中间件系统提供某种程度的全局服务集成,并且只为用户或应用程序提供使用这些服务的接口。Lecture 1-

51、71中间件例子典型例子:SunRPC,CORBA,DCOM,JavaRMI 实现在网络协议之上隐蔽网络、硬件、操作系统以及程序设计语言的异构性提供标准服务界面三种典型的中间件:面向事务处理(分布式数据库应用)面向消息传送(可靠的异步通信)远程过程调用(RPC)(客户/服务器模型)Lecture 1-72Middleware and Openness In an open middleware-based distributed system, the protocols used by each middleware layer should be the same, as well as t

52、he interfaces they offer to applications.1.23Lecture 1-73中间件模型一般包括如下一些类型: 1)将任何资源作为文件来对待。如在Plan 9中,所有的资源,包括键盘、鼠标、硬盘、网络接口等等这些I/O设备都被当作文件看待。无论一个文件是远程的还是本地的,在本质上是没有区别的。因为一个文件能够被几个进程共享,进程通信可以简化到对同一个文件访问的问题。 2)以分布式文件系统(DFSDistributed File Systems)为中心的中间件模型。这种模型类似于第一种模型,但并不像Plan 9那样严格。在许多情况下,这种中间件实际上只在支持传

53、统文件的分布透明性方面比网络操作系统前进了一步。3)基于远程过程调用(RPCRemote Procedure Call)的中间件模型。这种模型主要集中在隐匿网络通信,隐匿网络通信的方式是允许一个进程调用在一个远程机器上实现的过程。这个过程调用似乎就发生在本地,调用进程不必关心发生网络通信。 Lecture 1-744)基于分布式对象(Distributed Objects)的中间件模型。一个分布式对象往往是在拥有该对象的一个机器上实现,而它的接口在许多其他的机器上可用。当一个进程引用一个方法时,进程所在机器上的接口将此引用转换成一个报文传送给对应的对象,该对象执行所请求的方法并回送结果。同RP

54、C的情况一样,进程完全可以不关心网络通信的细节。 5)基于分布式文档(Distributed Documents)的中间件模型。如在Web模型中,信息被组织成文档,每个文档透明地存放在某个机器上,文档里包含有一些指向其他文档的链接(link)。通过一个链接,这个链接所指定的文档会被从它存放的位置取到用户的机器上并显示到用户的显示器上。 Lecture 1-75比较指标分布式DOS网络NOS中间件系统多处理器多计算机透明度透明度很高很高高高低低高高操作系统同构操作系统同构是是是是否否否否操作系统个数操作系统个数1NNN基本通信手段基本通信手段共享内存共享内存消息消息文件文件多样化多样化资源管理资

55、源管理全局中央全局中央式式全局分布全局分布式式由节点由节点管理管理由节点管由节点管理理可调节性可调节性很差很差适中适中很好很好较好较好开放性开放性封闭封闭封闭封闭开放开放开放开放不同操作系统之比较Lecture 1-76系统平台模型 客户/服务器模型:把使用者看成客户(client),把应用的具体实现者看成服务器(server),可以帮助人们容易理解分布式系统,也便于人们管理一个复杂的分布式系统。浏览器/服务器模型:为了充分利用互联网自由、开放的特征,为了使计算机应用尤其是电子商务的市场范围扩展到千家万户,基于浏览器/服务器(Browser/Server)的分布式系统平台模型浮出水面,使得网络

56、应用呈现出全球化、个性化的趋势。J2EE逻辑结构Lecture 1-77J2EE逻辑结构Lecture 1-78What assistance is available to you?Lectures lecture slides will be placed at course email address “computer_ 2008ds”“Tentative” version before lecture“Final” version after lectureTextbook徐高潮分布计算系统,高等教育出版社,2004 Recommended Books Andrew S. Tanen

57、baumDistributed Systems: Principles and Paradigms, 5nd edition, Prentice HallGeorge Coulouris et al.Distributed Systems: Concepts and Design, 3nd edtion,Addison-Wesley,2005李西宁分布式系统,科学出版社,2006.12Lecture 1-79Grading Policy (subject to minor changes)attendance and participationQuizzes (随堂进行)(随堂进行) 5Pre

58、sentation (列列出出若若干干主主题题,每每人人选选择择其其中中一一个个主主题题,查查找找相相关关文文献献,然然后后在在最最后后阶阶段段集集中中介介绍绍自自己己所所阅阅读读的的文文献献,要要求求上上交交文文字字版版并并将电子版发到主讲教师邮箱)将电子版发到主讲教师邮箱)25Final Exam 70(open)Lecture 1-80Topic of Presentation1.分布式系统模型2.分布式对象和远程调用:RMI、RPC3.分布式系统中的通信4.分布式程序设计语言5.分布式系统中的命名服务6.分布式系统的安全性7.分布式协同处理:同步和互斥8.分布式系统中的死锁9.分布式系统中的容错技术10.分布式数据管理Lecture 1-81Topic of Presentation (Con.)11.分布式文件系统12.分布式调度13.分布式共享存储器14.分布式事务处理15.分布式多媒体系统16.中间件技术17.分布式操作系统18.新型分布式操作系统19.CORBA20.面向对象技术在分布式系统中的应用

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号