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)过程执行完毕后,被调用者要将输出参量的值送回给调用者。 所以,一次过程调用要两次通信才能实现