中国科学技术大学:《高级操作系统 Advanced Operating System》课程PPT教学课件(分布式系统设计)分布式程序设计(主讲:熊焰)

第六章分布式程序设计 ·分布式程序设计的特点 ·分布式进程 ·分布式进程迁移
第六章 分布式程序设计 ⚫ 分布式程序设计的特点 ⚫ 分布式进程 ⚫ 分布式进程迁移

6.1分布式程序设计的特点 分布式程序设计的特点 在分布式计算机系统出现后,为了应用这种系统,在 七十年代后期提出了分布式程序设计的概念,即设计 运行于分布式计算机系统上的分布式程序 。 ● 分布式程序设计有三个特点:分布性、通信性和鲁棒 性。 一 个分布式程序由若干可以独立执行的程序模块组成,这些 程序模块分布子一个分布式计算机系统中若干台计算机上同 时执行。 分布于各台计算机上的程序模块是相互关联的,它们在执行 中需要交换数据(即通信)。只有通过通信,各程序模块才 能协调执行,以完成一个共同的计算任务 。 此外,进行分布式程序设计时,还常常要考虑鲁棒性,当某 几台计算机发生故障时,程序仍可以执行下去
6.1 分布式程序设计的特点 分布式程序设计的特点 ⚫ 在分布式计算机系统出现后,为了应用这种系统,在 七十年代后期提出了分布式程序设计的概念,即设计 运行于分布式计算机系统上的分布式程序。 ⚫ 分布式程序设计有三个特点:分布性、通信性和鲁棒 性。 ⚫ 一个分布式程序由若干可以独立执行的程序模块组成,这些 程序模块分布于一个分布式计算机系统中若干台计算机上同 时执行。 ⚫ 分布于各台计算机上的程序模块是相互关联的,它们在执行 中需要交换数据(即通信)。只有通过通信,各程序模块才 能协调执行,以完成一个共同的计算任务。 ⚫ 此外,进行分布式程序设计时,还常常要考虑鲁棒性,当某 几台计算机发生故障时,程序仍可以执行下去

6.1分布式程序设计的特点 分布式程序设计语言 。为了进行分布式程序设计,必须提供分布式程序设计 语言。 。分布式程序设计语言和其它程序设计语言的主要区别: 它具有程序分布和通信的功能。有时它还具有便于实 现鲁棒性的一些功能 一般来说,一种顺序程序设计语言或并发程序设计语 言,增加了分布和通信功能后,就可以成为分布式程 序设计语言了
6.1 分布式程序设计的特点 分布式程序设计语言 ⚫ 为了进行分布式程序设计,必须提供分布式程序设计 语言。 ⚫ 分布式程序设计语言和其它程序设计语言的主要区别: 它具有程序分布和通信的功能。有时它还具有便于实 现鲁棒性的一些功能。 ⚫ 一般来说,一种顺序程序设计语言或并发程序设计语 言,增加了分布和通信功能后,就可以成为分布式程 序设计语言了

6.1分布式程序设计的特点 分布式程序 。分布式功能可使程序分为若干个可独立执行的程序模块。 。这些程序模块的产生方式: 。可以在程序开始执行前就按要求分布于各台计算机上, ● 也可以在程序执行过程中逐个产生出来,即开始执行时只有一个 程序模块,它在执行中不断产生出新的程序模块,被产生的程序 模块在执行中又可以产生程序模块。 ● 由于不同的程序模块是在不同的计算机上执行的,故它们之间 不能有共享数据或公用变量。程序模块之间的数据交换只能依 靠通信。分布式程序设计的通信功能就是用来实现程序模块间 的数据交换的。 ·目前已有十几种分布式程序设计语言的建议
6.1 分布式程序设计的特点 分布式程序 ⚫ 分布式功能可使程序分为若干个可独立执行的程序模块。 ⚫ 这些程序模块的产生方式: ⚫ 可以在程序开始执行前就按要求分布于各台计算机上, ⚫ 也可以在程序执行过程中逐个产生出来,即开始执行时只有一个 程序模块,它在执行中不断产生出新的程序模块,被产生的程序 模块在执行中又可以产生程序模块。 ⚫ 由于不同的程序模块是在不同的计算机上执行的,故它们之间 不能有共享数据或公用变量。程序模块之间的数据交换只能依 靠通信。分布式程序设计的通信功能就是用来实现程序模块间 的数据交换的。 ⚫ 目前已有十几种分布式程序设计语言的建议

6.2分布式进程 基于Pascal的分布式程序设计语言 。汉森于1978年提出了分布式进程的概念。它将并发 PASCAL语言作了一些修改,并增加了分布式进程的概 念,从而构成了一个分布式程序设计语言。 分布式进程是分布于系统的若干台计算机上的进程, 它们之间没有公用变量。 一个程序是由数量固定的若干分布式进程组成,它们 同时被启动,并行地在各台计算机上执行
6.2 分布式进程 基于Pascal的分布式程序设计语言 ⚫ 汉森于1978年提出了分布式进程的概念。它将并发 PASCAL语言作了一些修改,并增加了分布式进程的概 念,从而构成了一个分布式程序设计语言。 ⚫ 分布式进程是分布于系统的若干台计算机上的进程, 它们之间没有公用变量。 ⚫ 一个程序是由数量固定的若干分布式进程组成,它们 同时被启动,并行地在各台计算机上执行

6.2分布式进程 进程定义 一个进程定义了自己的变量、公用过程和初始 语句序列: Process(进程名) ● 一个进程执行两类操作:执行初始语句序列和 由其它进程提出的外需求(即调用它定义的公 用过程)
6.2 分布式进程 进程定义 ⚫ 一个进程定义了自己的变量、公用过程和初始 语句序列: Process(进程名) ⚫ 一个进程执行两类操作:执行初始语句序列和 由其它进程提出的外需求(即调用它定义的公 用过程)

6.2分布式进程 分布式进程的执行 一个进程被启动后, 1)先执行初始语句序列,直至执行完毕。 2)在进程执行中因为等待某个条件而暂时不能执行下去时,如果 有外需求,它就执行相应的公用过程。当此过程执行完毕或执行 到等待某个条件而暂时不能继续执行时,它或者去执行初始语句 序列,或者执行另一个外需求的过程。 一个进程在执行初始语句序列或某个过程时,总是连续地执行下 去,除非它因为等待某个条件而暂时不能继续执行下去,或者它 向其它进程提出了过程调用。 当一个进程由于上述原因不能执行语句序列或某个过程时,它就 可以接收其它进程的需求,执行相应的一个过程。因此,一个进 程从执行某一个过程转向另一个过程,这不是由时钟来控制的, 而是由程序本身的执行来确定的
6.2 分布式进程 分布式进程的执行 ⚫ 一个进程被启动后, 1)先执行初始语句序列,直至执行完毕。 2)在进程执行中因为等待某个条件而暂时不能执行下去时,如果 有外需求,它就执行相应的公用过程。当此过程执行完毕或执行 到等待某个条件而暂时不能继续执行时,它或者去执行初始语句 序列,或者执行另一个外需求的过程。 ⚫ 一个进程在执行初始语句序列或某个过程时,总是连续地执行下 去,除非它因为等待某个条件而暂时不能继续执行下去,或者它 向其它进程提出了过程调用。 ⚫ 当一个进程由于上述原因不能执行语句序列或某个过程时,它就 可以接收其它进程的需求,执行相应的一个过程。因此,一个进 程从执行某一个过程转向另一个过程,这不是由时钟来控制的, 而是由程序本身的执行来确定的

因此,一个分布式进程的执行过程可用下图来 表示: 进程 进程 A 启动 启动 执行初始语句 序列↓ 等待条件 等待条件 C:一 c 它进程 它进程 调用 调用 执行被调用 执行被调用 过程 过程 调用它进程的 过程 它进程 条件C成立 调用 继续 执行被调用 执寺 过程 它进程被调用过程 执行完华 (a) 条件C成立 继续 执寺 (b) (a)简单情况 (b)复杂情况
⚫ 因此,一个分布式进程的执行过程可用下图来 表示: 执行初始语句 序列 进 程 A 启动 等待条件 C 它 进 程 调用 执行被调用 过程 条件C成立 继 续 执行 (a) (b) 进 程 A 启动 等待条件 C 它 进 程 调用 执行被调用 过程 条件C成立 继 续 执行 调 用它进 程的 过程 执行被调用 过程 它进程被调 用过程 执行完毕 它 进 程 调用 (a)简单情况 (b) 复杂情况

6.2分布式进程 过程的定义: 一个进程可以定义若干个过程。一个过程定义了它的 输入输出参量、局部变量和语句序列: ProC(#) ·当执行一个过程时,相应的语句序列就被执行
6.2 分布式进程 过程的定义: ⚫ 一个进程可以定义若干个过程。一个过程定义了它的 输入输出参量、局部变量和语句序列: Proc(#) ⚫ 当执行一个过程时,相应的语句序列就被执行

6.2分布式进程 过程的调用 一个进程可用call语句来调用另一个进程所定义的过程,例如 进程p可以用以下形式的call语句来调用进程Q定义的过程R: calQ.R(,变量) 在进程Q开始执行过程R时,call语句中表达式的值就赋给了输 入参量。当过程执行完毕后,输出参量的值就赋给了cll语句中 的变量 ·实现上述过程调用时, 1)调用进程先要将输入参量的值传给被调用者, 2)过程执行完毕后,被调用者要将输出参量的值送回给调用者。 所以,一次过程调用要两次通信才能实现
6.2 分布式进程 过程的调用 ⚫ 一个进程可用call语句来调用另一个进程所定义的过程,例如 ⚫ 进程p可以用以下形式的call语句来调用进程Q定义的过程R: call Q.R(,变量) ⚫ 在进程Q开始执行过程R时,call语句中表达式的值就赋给了输 入参量。当过程执行完毕后,输出参量的值就赋给了call语句中 的变量 ⚫ 实现上述过程调用时, 1)调用进程先要将输入参量的值传给被调用者, 2)过程执行完毕后,被调用者要将输出参量的值送回给调用者。 所以,一次过程调用要两次通信才能实现
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 中国科学技术大学:《高级操作系统 Advanced Operating System》课程PPT教学课件(分布式系统设计)分布式进程调度和容错.ppt
- 中国科学技术大学:《高级操作系统 Advanced Operating System》课程PPT教学课件(分布式系统设计)处理机分配算法举例(部分).ppt
- 中国科学技术大学:《高级操作系统 Advanced Operating System》课程PPT教学课件(分布式系统设计)分布式路由算法(3/3).ppt
- 中国科学技术大学:《高级操作系统 Advanced Operating System》课程PPT教学课件(分布式系统设计)分布式路由算法(2/3).ppt
- 中国科学技术大学:《高级操作系统 Advanced Operating System》课程PPT教学课件(分布式系统设计)分布式路由算法(1/3).ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第十一讲 国外知名安全操作系统介绍——SELinux CaseStudy SELinux.ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第十讲 实验讲解——文件恢复(Linux文件系统和ext2).ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第十讲 实验讲解——文件恢复 about experiment file recovery.ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第九讲 实验讲解——口令破解 about experiment Password cracking.ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第八讲 主流操作系统中的安全技术——Windows GOS Windows Security.ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第七讲 安全操作系统的设计与实现 Design Implementation.ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第六讲 主流操作系统中的安全技术——Linux GOS Linux Security.ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第五讲 渗透测试技术 Penetration testing.ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第四讲 操作系统安全体系结构 OSSecurityArch.ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第一讲 绪论(主讲:陈香兰).ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第三讲 安全需求与安全策略 Requirement & Policy.ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第二讲 操作系统的安全机制 SecureMechanism.ppt
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)Linux中的进程地址空间(arm).pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)内存管理 memory.pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)系统调用 syscall arm.pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)课程简介(主讲:李曦).pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)01 概述.pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)02 指令系统.pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)03 处理器设计(单周期).pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)04 RV处理器设计(多周期、微程序).pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)05 RV处理器设计——流水线.pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)06 RV处理器设计——流水线冲突及冒险.pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)07 RV处理器设计(流水线冒险、分支、多发射).pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)08 RV处理器设计——异常.pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)09 存储器-0(层次存储概述、Cache).pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)10 存储器-1(SRAM/DRAM原理、主存系统构建).pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)11 存储器-2(外存储器).pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)12 存储器-3(虚拟存储器).pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)13 存储器-4(存储系统的可靠性——校验、RAID).pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)14 系统互连与通信——总线(同步、仲裁).pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2022)15 外设、输入输出系统.pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2023)课程简介.pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2023)01 概述(主讲:李曦).pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2023)02 指令系统.pdf
- 中国科学技术大学:《计算机组成原理》课程教学资源(课件讲稿,2023)03 RV处理器设计——单周期.pdf