计算机通信网 Computer Networks.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
高级操作系统 Advanced Operating System 熊 焰 Yxiong@ustc.edu.cn 0551_3607394 中国科学技术大学计算机系 第六章 分布式程序设计 分布式程序设计的特点 分布式进程 分布式进程迁移 第六章 分布式程序设计 6.1 分布式程序设计的特点 在分布式计算机系统出现后,为了应用这种系统,在七十年代后期提出了分布式程序设计的概念,即设计运行于分布式计算机系统上的分布式程序。一个分布式程序由若干可以独立执行的程序模块组成,这些程序模块分布于一个分布式计算机系统中若干台计算机上同时执行。分布于各台计算机上的程序模块是相互关联的,它们在执行中需要交换数据(即通信程)。只有通过通信,各程序模块才能协调执行,以完成一个共同的计算任务。此外,进行 第六章 分布式程序设计 6.1 分布式程序设计的特点 分布式程序设计时,还常常要考虑鲁棒性,当某几台计算机发生故障时,程序仍可以执行下去。因此,分布式程序设计有三个特点:分布性、通信性和鲁棒性。为了进行分布式程序设计,必须提供分布式程序设计语言。分布式程序设计语言和其它程序设计语言的主要区别:它具有程序分布和通信的功能。有时它还具有便于实现鲁棒性的一些功能。一般来说,一种顺序程序设计语言或并发程序设计语言,增加了分布和通信功能后,就可以成为分布式程序 第六章 分布式程序设计 6.1 分布式程序设计的特点 设计语言了。 分布式功能可使程序分为若干个可独立执行的程序模块。这些程序模块可以在程序开始执行前就按要求分布于各台计算机上,也可以在程序执行过程中逐个产生出来,即开始执行时只有一个程序模块,它在执行中不断产生出新的程序模块,被产生的程序模块在执行中又可以产生程序模块。由于不同的程序模块是在不同的计算机上执行的,故它们之间不能有共 第六章 分布式程序设计 6.1 分布式程序设计的特点 享数据或公用变量。程序模块之间的数据交换只能依靠通信。分布式程序设计的通信功能就是用来实现程序模块间的数据交换的。 目前已有十几种分布式程序设计语言的建议。 第六章 分布式程序设计 6.2 分布式进程 汉森于1978年提出了分布式进程的概念。它将并发PASCAL语言作了一些修改,并增加了分布式进程的概念,从而构成了一个分布式程序设计语言。 分布式进程是分布于系统的若干台计算机上的进程,它们之间没有公用变量。一个程序是由数量固定的若干分布式进程组成,它们同时被启动,并行地在各台计算机上执行。 第六章 分布式程序设计 6.2 分布式进程 一个进程定义了自己的变量、公用过程和初始语句序列: Process(进程名) 变量定义 公用过程定义 初始语句序列 一个进程执行两类操作:执行初始语句序列和由其它进程提出的外需求(即调用它定义的公用过程)。 第六章 分布式程序设计 6.2 分布式进程 一个进程被启动后,先执行初始语句序列,直至执行完毕。在进程执行中因为等待某个条件而暂时不能执行下去时,如果有外需求,它就执行相应的公用过程。当此过程执行完毕或执行到等待某个条件而暂时不能继续执行时,它或者去执行初始语句序列,或者执行另一个外需求的过程。一个进程在执行初始语句序列或某个过程时,总是连续地执行下去,除非它因为等待某个条件而暂时不能继续执行下去,或者它向其它进程提出了过程调用。 第六章 分布式程序设计 6.2 分布式进程 当一个进程由于上述原因不能执行语句序列或某个过程时,它就可以接收其它进程的需求,执行相应的一个过程。因此,一个进程从执行某一个过程转向另一个过程,这不是由时钟来控制的,而是由程序本身的执行来确定的。一个分布式进程的执行过程可用下图来表示: 第六章 分布式程序设计 6.2 分布式进程 (a)简单情况 (b) 复杂情况 第六章 分布式程序设计 6.2 分布式进程 一个进程可以定义若干个过程。一个过程定义 了它的输入输出参量、局部变量和语句序列: Proc过程名(输入参量#输出参量) 局部变量说明 语句序列 当执行一个过程时,相应的语句序列就被执行。一个进程可用call语句来调用另一个进程所定义的公共过程。例如,进程p可以用以下形式的call语句来调用进程Q定义的过程R: 第六章 分布式程序设计 6.2 分布式进程 call Q.R(表达式,变量) 在进程Q开始执行过程R时,call语句中表达式的值就赋

文档评论(0)

jingpinwedang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档