北京大学计算机系:《操作系统原理 Principles of Operating System》课程教学资源(PPT课件讲稿)第十章 分布式系统中的同步问题

第10章分布式系统中的同步问题 101时钟同步 分布式系统特点: 相关的信息分布在多台机器上 没有共享内存进程只根据本地可用的信息做 出决策 系统中不存在公共时钟或其它精确的全局时 间源 在集中式系统中,时间是很明确的
第10章 分布式系统中的同步问题 10.1 时钟同步 分布式系统特点: • 相关的信息分布在多台机器上 • 没有共享内存进程只根据本地可用的信息做 出决策 • 系统中不存在公共时钟或其它精确的全局时 间源 • 在集中式系统中,时间是很明确的

时钟同步例子 UNX的Make,检查文件最后修改时间 创建 input.o后,源 nput. C修改了,要重新 编译 input.C 设 ouput.o的修改时间是2000。创建 output o后即修改了源 output. c 但编辑 output. c的机器时钟慢,修改后 output.c时间被1999 make不会重新编译 output. c,程序的运行 会出现问题
时钟同步例子 UNIX的Make,检查文件最后修改时间 • 创建input.o后,源input.C修改了,要重新 编译input.C • 设 ouput.o 的 修 改 时 间 是 2000 。 创 建 output.o后即修改了源output.c • 但编辑 output.c的机器时钟慢,修改后 output.c时间被1999 • make不会重新编译output.c,程序的运行 会出现问题

10.2逻辑时钟(1) 只关心时钟内部一致性,不关心时钟是否与 实际时间一致 1978年 Lamport指出,系统中的时钟并不 需要绝对的同步 ·重要的不是进程有完全一致的时间,而是事 件发生的先后次序要一致
10.2 逻辑时钟(1) • 只关心时钟内部一致性,不关心时钟是否与 实际时间一致 • 1978年Lamport指出,系统中的时钟并不 需要绝对的同步 • 重要的不是进程有完全一致的时间,而是事 件发生的先后次序要一致

10.2逻辑时钟(2) 发生之前( happens- before)关系定义 表达式a→b读作“a发生在b前” 即所有进程都认为事件a先发生,然后才发 生事件b 事件a,有一个时间值c(a) 如果a和b是同一进程中的事件,而且a发生 在b前 那么a→b为true,c(a)<c(b)
10.2 逻辑时钟(2) 发生之前(happens-before)关系定义 • 表达式a b读作“a发生在b前” • 即所有进程都认为事件a先发生,然后才发 生事件b • 事件a,有一个时间值C(a) • 如果a和b是同一进程中的事件,而且a发生 在b前 • 那么a b为true, C(a)<C(b)

10.2逻辑时钟(3) 传递性 Happens-before关系具有传递性 如果a→b和bc都成立,日c也成立
10.2 逻辑时钟(3) • 传递性 Happens-before关系具有传递性 如果a b和b c都成立,a c也成立

并发事件 如果事件x和y发生在不同的进程中,且这 两进程间不交换信息 那么x→y和y→x都不成立。这两个事件就 称为并发事件 并发意味着两个事件发生时,无法确定哪个 事件先发生,或者说不需要考虑此事
并发事件: • 如果事件x和y发生在不同的进程中,且这 两进程间不交换信息 那么x y和y x都不成立。这两个事件就 称为并发事件 • 并发意味着两个事件发生时,无法确定哪个 事件先发生,或者说不需要考虑此事

Lamport算法(1): 时钟时间C必须向前(不断增加),不能后 退(减小) 对时间的更新,只能是在时钟上加一个正数, 不能减正数
• 时钟时间C必须向前(不断增加),不能后 退(减小) • 对时间的更新,只能是在时钟上加一个正数, 不能减正数 Lamport算法(1):

006 A 12 16 16 20 18 B 24 32 004 18 B 24 32 40 30 0640 446A2 48 6 70 m09 77 90 8 100 个进程,有各自的时钟 Lamport算法

Lamport算法(2): 例子说明(1) 三个进程运行在不同的有自己时钟的机器上, 每个时钟按自己的速度运行 可以看到,进程0中时钟有6次嘀嗒时,进 程1已经有了8次,而进程2已经有了10次
例子说明(1) • 三个进程运行在不同的有自己时钟的机器上, 每个时钟按自己的速度运行 • 可以看到,进程0中时钟有6次嘀嗒时,进 程1已经有了8次,而进程2已经有了10次 Lamport算法(2):

Lamport算法(3): 例子说明(2) 设,计时器每秒生成60次中断,每次中断 称为一个时钟嘀嗒 从进程2发送该进程1的消息C,其发送时刻 为60,到达时刻为56 同样,从进程1到进程0的消息D,其发送时 刻为64,到达时刻为54 这显然是不可能的,也是必须避免出现的情 况
• 设,计时器每秒生成60次中断,每次中断 称为一个时钟嘀嗒 • 从进程2发送该进程1的消息C,其发送时刻 为60,到达时刻为56 • 同样,从进程1到进程0的消息D,其发送时 刻为64,到达时刻为54 • 这显然是不可能的,也是必须避免出现的情 况 例子说明(2) Lamport算法(3):
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 北京大学计算机系:《操作系统原理 Principles of Operating System》课程教学资源(PPT课件讲稿)第一章 操作系统概述.ppt
- 北京大学计算机系:《操作系统原理 Principles of Operating System》课程教学资源(PPT课件讲稿)绪论(主讲:陈向群).ppt
- 《计算机网络安全技术教程》教学资源(PPT课件讲稿)ch 09 备份技术.ppt
- 《计算机网络安全技术教程》教学资源(PPT课件讲稿)ch 08 计算机病毒防范技术.ppt
- 《计算机网络安全技术教程》教学资源(PPT课件讲稿)ch 07 网络安全检测与评估技术.ppt
- 《计算机网络安全技术教程》教学资源(PPT课件讲稿)ch 06 访问控制技术.ppt
- 《计算机网络安全技术教程》教学资源(PPT课件讲稿)ch 05 入侵检测技术.ppt
- 《计算机网络安全技术教程》教学资源(PPT课件讲稿)ch 04 防火墙技术.ppt
- 《计算机网络安全技术教程》教学资源(PPT课件讲稿)ch 03 信息加密与PKI.ppt
- 《计算机网络安全技术教程》教学资源(PPT课件讲稿)ch 02 物理安全.ppt
- 《计算机网络安全技术教程》教学资源(PPT课件讲稿)ch 10 网络安全解决方案.ppt
- 《计算机网络安全技术教程》教学资源(PPT课件讲稿)ch 01 绪论.ppt
- 兰州交通大学:《Visual 6.0实例教程》课程教学资源(PPT课件)第9章 多线程.ppt
- 兰州交通大学:《Visual 6.0实例教程》课程教学资源(PPT课件)第8章 常处理和诊断.ppt
- 兰州交通大学:《Visual 6.0实例教程》课程教学资源(PPT课件)第7章 MFC通用类.ppt
- 兰州交通大学:《Visual 6.0实例教程》课程教学资源(PPT课件)第6章 文件操作.ppt
- 兰州交通大学:《Visual 6.0实例教程》课程教学资源(PPT课件)第5章 图形操作.ppt
- 兰州交通大学:《Visual 6.0实例教程》课程教学资源(PPT课件)第4章 菜单、快捷键和控制条.ppt
- 兰州交通大学:《Visual 6.0实例教程》课程教学资源(PPT课件)第3章 对话框与控件.ppt
- 兰州交通大学:《Visual 6.0实例教程》课程教学资源(PPT课件)第2章 文档和视.ppt
- 北京大学计算机系:《操作系统原理 Principles of Operating System》课程教学资源(PPT课件讲稿)第十一章 分布式系统中的进程及处理器.ppt
- 北京大学计算机系:《操作系统原理 Principles of Operating System》课程教学资源(PPT课件讲稿)第十二章 分布式文件系统.ppt
- 北京大学计算机系:《操作系统原理 Principles of Operating System》课程教学资源(PPT课件讲稿)第二章 进程管理.ppt
- 北京大学计算机系:《操作系统原理 Principles of Operating System》课程教学资源(PPT课件讲稿)第三章 用户接口与作业管理.ppt
- 北京大学计算机系:《操作系统原理 Principles of Operating System》课程教学资源(PPT课件讲稿)第四章 存储管理.ppt
- 北京大学计算机系:《操作系统原理 Principles of Operating System》课程教学资源(PPT课件讲稿)第五章 文件管理.ppt
- 北京大学计算机系:《操作系统原理 Principles of Operating System》课程教学资源(PPT课件讲稿)第六章 设备管理.ppt
- 北京大学计算机系:《操作系统原理 Principles of Operating System》课程教学资源(PPT课件讲稿)第七章 操作系统设计.ppt
- 北京大学计算机系:《操作系统原理 Principles of Operating System》课程教学资源(PPT课件讲稿)第八章 分布式操作系统引言.ppt
- 北京大学计算机系:《操作系统原理 Principles of Operating System》课程教学资源(PPT课件讲稿)第九章 分布式系统中的通信问题.ppt
- 北京大学计算机系:《操作系统原理 Principles of Operating System》课程教学资源(PPT课件讲稿)操作系统习题讲解.ppt
- 北京《计算机系统结构》:第一章基本概念.doc
- 北京大学《计算机系统结构》:第三章存储系统1.doc
- 北京大学《计算机系统结构》:第三章存储系统3.doc
- 北京大学《计算机系统结构》:第三章存储系统2.doc
- 北京大学《计算机系统结构》:第三章存储系统5.doc
- 北京大学《计算机系统结构》:第三章存储系统4.doc
- 北京大学《计算机系统结构》:第二章指令系统1.doc
- 北京大学《计算机系统结构》:第二章指令系统3.doc
- 北京大学《计算机系统结构》:第二章指令系统2.doc