第三章分布式进程和处理机管理 分布式系统模型 ·分布式处理机分配 ·分布式进程调度 ·分布式系统容错 ·实时分布式系统
第三章 分布式进程和处理机管理 ⚫ 分布式系统模型 ⚫ 分布式处理机分配 ⚫ 分布式进程调度 ⚫ 分布式系统容错 ⚫ 实时分布式系统
3.3分布式进程调度 必要性 在分布式操作系统中,每个处理机只是进行自 己的本地进程调度(假定它上面有多个进程在 运行),而不管其它处理机正在干什么。 ·在大多数情况下,这种方式工作得很好。 。但当一组相关的、彼此需要通讯的进程在不同 的处理机上运行时,那么,各自独立的进程调 度就不是最有效的方法了
3.3 分布式进程调度 必要性 ⚫ 在分布式操作系统中,每个处理机只是进行自 己的本地进程调度(假定它上面有多个进程在 运行),而不管其它处理机正在干什么。 ⚫ 在大多数情况下,这种方式工作得很好。 ⚫ 但当一组相关的、彼此需要通讯的进程在不同 的处理机上运行时,那么,各自独立的进程调 度就不是最有效的方法了
3.3分布式进程调度 必要性举例 。4个进程:A、B、C、D 处理机 。2个处理器:0,1, 时间片0 1 分时调度的时间片长度100ms A ·A、B在处理器0上运行 1 B C、D在处理器1上运行 A ·A需要向D发送大量的消息,或者对D 3 B 进行许多远程调用 一种较坏的情况: 4 A A和D在两个处理器上,正好按时间片交 5 B D 叉运行
3.3 分布式进程调度 必要性举例 ⚫ 4个进程:A、B、C、D ⚫ 2个处理器:0,1, 分时调度的时间片长度100ms ⚫ A、B在处理器0上运行 C、D在处理器1上运行 ⚫ A需要向D发送大量的消息,或者对D 进行许多远程调用 ⚫ 一种较坏的情况: ⚫ A和D在两个处理器上,正好按时间片交 叉运行 A C B D A C B D A C B D 处理机 时间片 0 1 0 1 2 3 4 5
3.3分布式进程调度 必要性举例 在时间片0,A和C运行 若A启动后立即调用D,但此时C在运行,只 处理机 有进程切换到D才能处理 时间片0 。100ms后,在时间片1,进程切换到B和D A ● D收到A的消息,处理,并答复,但此时B在 运行,只有进程切换到A才能处理 B 100ms后,在时间片2,进程切换到A和C 2 ·A收到D的应答消息 3 B 。综上,每次消息交换需要花费200ms 4 A 因此,需要一个协同进程调度算法来保证 相互通信的进程能够同步执行。 5 B D
A C B D A C B D A C B D 处理机 时间片 0 1 0 1 2 3 4 5 3.3 分布式进程调度 必要性举例 ⚫ 在时间片0,A和C运行 ⚫ 若A启动后立即调用D,但此时C在运行,只 有进程切换到D才能处理 ⚫ 100ms后,在时间片1,进程切换到B和D ⚫ D收到A的消息,处理,并答复,但此时B在 运行,只有进程切换到A才能处理 ⚫ 100ms后,在时间片2,进程切换到A和C ⚫ A收到D的应答消息 ⚫ 综上,每次消息交换需要花费200ms 因此,需要一个协同进程调度算法来保证 相互通信的进程能够同步执行
3.3分布式进程调度 协同进程调度算法 尽管动态地确定进程间的通信比较困难,但在大多数 情况下,可以同时启动一组相互联系的进程。例如, 0 通常UNⅨ管道中过滤器之间的通信比它们与其它进程之间 的通信要多。 假定: 进程都是成组创建的,且组内进程之间的通信要比组 间进程之间的通信多得多。 ●进一步地假定: 系统有足够多的处理机来处理最大的一组进程,并且 每一个处理机都是具有N个时间片的多进程处理机
3.3 分布式进程调度 协同进程调度算法 ⚫ 尽管动态地确定进程间的通信比较困难,但在大多数 情况下,可以同时启动一组相互联系的进程。例如, ⚫ 通常UNIX管道中过滤器之间的通信比它们与其它进程之间 的通信要多。 ⚫ 假定: 进程都是成组创建的,且组内进程之间的通信要比组 间进程之间的通信多得多。 ⚫ 进一步地假定: 系统有足够多的处理机来处理最大的一组进程,并且 每一个处理机都是具有N个时间片的多进程处理机